快排c++实现及编译结果
#include <iostream> using namespace std; void quickSort(int left, int right, int* arr) { if (arr == NULL) return; if (left >= right) return; int i = left, j = right; int base = arr[i]; while (i < j) { while (arr[i] < base&&i<j) { i++; } while (arr[j]>base&&i < j) { j--; } std::swap(arr[i], arr[j]); } std::swap(base, arr[i]); quickSort(left, i, arr); quickSort(i + 1, right, arr); } int main() { int arr[10] = { 9, 5, 3, 4, 7, 6, 8, 2, 1, 0 }; quickSort(0, sizeof(arr) / sizeof(arr[0])-1, arr);//10个元素,最右边元素下标为9 for(int i=0;i<sizeof(arr)/ sizeof(arr[0]);i++) { cout<<arr[i]<<" "; } return 0; }运行结果
0 1 2 3 4 5 6 7 8 9