#include <iostream> using namespace std; void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } int Partition(int arr[], int front, int end) { int pivot = arr[end]; int i = front - 1; for (int j = front; j < end; j++) { if (pivot > arr[j]) { i++; swap(&arr[i], &arr[j]); } } i++; swap(&arr[i], &arr[end]); return i; } void QuickSort(int arr[], int front, int end) { if (front < end) { int pivot = Partition(arr, front, end); QuickSort(arr, front, pivot - 1); QuickSort(arr, pivot + 1, end); } } int main() { int n = 9; int arr[] = {8, 6, 4, 2, 9, 7, 1, 3, 5}; cout << "before quick: " << endl; for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; QuickSort(arr, 0, n - 1); cout << "after quick: " << endl; for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; //system("pause"); } |