#include <stdio.h> typedef int datatype; void swap(datatype *a, datatype *b) { datatype tmp = *a; *a = *b; *b = tmp; } void quick_sort(datatype arr[], int s, int t) { int i, j; if(s<t) { i=s; j=t+1; while(1) { do i++; while(arr[s]>arr[i] && i!= t); do j--; while(arr[s]<arr[j] && j!= s); if (i<j) swap(&arr[i],&arr[j]); else break; } swap(&arr[s],&arr[j]); quick_sort(arr, s, j-1); quick_sort(arr, j+1, t); } } int main() { int arr[10]={2,5,6,3,7,8,9,0,10,1},i; printf("befor sorted:/n"); for(i=0;i<10;++i) printf("%d, ",arr[i]); quick_sort(arr, 0, 9); printf("/nafter sorted:/n"); for(i=0;i<10;++i) printf("%d, ",arr[i]); }