/* Example: Array quicksort in C language */ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <stdbool.h> #include <errno.h> #include <unistd.h> void swap(int* a, int* b) { int t = *a; *a = *b; *b = t; } int partition (int arr[], int low, int high) { int pivot = arr[high]; int i = (low - 1); for (int j = low; j <= high- 1; j++) { if (arr[j] <= pivot) { i++; swap(&arr[i], &arr[j]); } } swap(&arr[i + 1], &arr[high]); return (i + 1); } void quickSort(int arr[], int low, int high) { if (low < high) { int pi = partition(arr, low, high); quickSort(arr, low, pi - 1); quickSort(arr, pi + 1, high); } } void printArray(int arr[], int size) { int i; for (i=0; i < size; i++) printf("%d ", arr[i]); printf("\n"); } int main() { int arr[] = {1,5,2,4,8,9,7,2,3,23,21,15,11}; int n = sizeof(arr)/sizeof(arr[0]); printf("before sort: \n"); printArray(arr, n); quickSort(arr, 0, n-1); printf("quick sort: \n"); printArray(arr, n); return 0; }ww:ecruoSw.lautturi.com