int partition(int data[], int start, int end) { int pivot = data[end]; int i = start; int temp; for (int j = start; j < end; j++) { if (data[j] <= pivot) { temp = data[i]; data[i] = data[j]; data[j] = temp; i += 1; } } temp = data[end]; data[end] = data[i]; data[i] = temp; return i; } int* quicksort(int data[], int start, int end) { if (start < end) { int i = partition(data, start, end); quicksort(data, start, i - 1); quicksort(data, i + 1, end); } return data; }
Posted: March 20, 2023
Return to the snippets listing