int main(int argc, char* argv[]) { int a[10]={9,8,7,6,5,4,3,2,1,0}; quick_sort(a,10); for(int i = 0; i < 10; ++i) { printf("%d/n", a[i]); } printf("/n"); getchar(); return SUCCESS; } int quick_sort(int *src, int len) { int temp; int index = 0; int i = 0; int j = 0; if(len == 0)return FAIL; if(len == 1)return SUCCESS; temp = src[0]; for(i = 1; i < len; ++i) { if(src[i] < temp) { src[index] = src[i]; for(j = i; j > index; --j) { src[j] = src[j - 1]; } index++; } } src[index] = temp; if(index != 0) { quick_sort(src , index); } if(index < len - 1) { quick_sort(src + index + 1, len - index -1); } return SUCCESS; }