1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#include <iostream>
using namespace std;
void (int *a, int left, int right) { if (left >= right) return;
int last = left; int mid = left + (right- left)/2; swap(a[mid], a[left]); for(int i = left +1; i<= right; i++){ if (a[i] < a[left]) swap(a[i],a[++last]); } swap(a[left], a[last]);
myqsort(a, left, last -1); myqsort(a, last + 1, right); }
int main() { int arr[] ={9,4,1,2,3,81,1,2,3,91,99,8,7,8,5}; int length = sizeof(arr)/sizeof(int);
for(int i= 0 ; i < length; ++i){ printf("%d ", arr[i]); } myqsort(arr, 0, length -1); printf("n after sort:n"); for(int i= 0 ; i< length; ++i){ printf("%d ", arr[i]); } }
|
近期评论