快速排序算法
#include <iostream> using namespace std; namespace mySort { void qSort(int * data, int left, int right) { if (left >= right) return; int i = left; int j = right + 1; while (i < j) { do i++; while (i<=right && data[i] < data[left]); //防止数组越界 do j--; while (data[j] > data[left]); if (i < j) swap(data[i], data[j]); } swap(data[left], data[j]); qSort(data, left, j - 1); qSort(data, j+1, right); } }; int main() { int a[] = {5,4,3,2,1}; mySort::qSort(a, 0, 4); return 0; }