- #include <stdio.h>
- #include <math.h>
- void quicksort(int a[], int start, int end)
- {
- int _mid, _temp;
- if(start < end){
- int i, j, t;
- i = start;
- j = end;
- _mid = a[start];
- while(i<j)
- {
- if(a[j] < _mid)
- {
- _temp = a[i];
- a[i] = a[j];
- a[j] = _temp;
- _mid = a[j];
- while(i<j)
- {
- if(a[i] > _mid)
- {
- _temp = a[i];
- a[i] = a[j];
- a[j] = _temp;
- _mid = a[i];
- break;
- }
- else
- i++;
- }
- }
- else
- j--;
- }
- quicksort(a, start, i-1);
- quicksort(a, i+1, end);
- }
- }
- int main(int argc, char* argv[])
- {
- if(argc < 2){
- printf("With 1 Parameter, Tks\\n");
- return 1;
- }
- int t;
- int m, n, end;
- m = 0;
- n = atoi(argv[1]);
- // if(n>999){
- // printf("parameter 1 is too large\\n");
- // return 1;
- // }
- int b[n];
- for(t=0; t<n; t++){
- b[t] = rand()%100000;
- }
- printf("OO:\\n");
- for(t=0;t<n;printf("%3d\\t",b[t]),++t);
- printf("\\n");
- end = n - 1;
- quicksort(b, m, end);
- printf("EE:\\n");
- for(t=0;t<n;printf("%3d\\t",b[t]),++t);
- printf("\\n");
- }
- //该片段来自于http://www.codesnippet.cn/detail/131220138023.html
来源: http://www.codesnippet.cn/detail/131220138023.html