精简后的快速排序法

来源:互联网 发布:淘宝网店图片尺寸 编辑:程序博客网 时间:2024/04/29 22:10
#include <stdio.h>void quick_sort(int *array, int left, int right){int key, left_tmp, right_tmp;key = array[left];left_tmp = left;right_tmp = right;if(left >= right)return;while(left < right) {while((array[right] >= key) && (right > left))right--;array[left] = array[right];while((array[left] <= key) && (left < right))left++;array[right] = array[left];}array[left] = key;quick_sort(array, left_tmp, left-1);quick_sort(array, left+1, right_tmp);}int main(){int size, i;int array[] = {9,8,7,6,5,4,3,2,1,0,9,6,4,7,4,2,1,6,8,0,78,5,43,2};size = sizeof(array) / sizeof(array[0]);for(i=0; i<size; i++)printf("%d ", array[i]);printf("\n");quick_sort(array, 0, size-1);for(i=0; i<size; i++)printf("%d ", array[i]);printf("\n");return 0;}