快速排序
来源:互联网 发布:成都淘宝网店培训 编辑:程序博客网 时间:2024/05/24 02:23
#include <stdio.h> int Partition(int array[], int low, int high) { int tmp = array[low]; while (low < high) { while (low<high && array[high]>=tmp) { --high; } array[low] = array[high]; while (low<high && array[low]<=tmp) { ++low; } array[high] = array[low]; } array[low] = tmp; return low; } void QuickSort(int array[], int low, int high) { if (low < high) { int index = Partition(array, low, high); QuickSort(array, low, index - 1); QuickSort(array, index + 1, high); } } int main() { int array[] = {3,2,4,1,5,7,6}; int len = sizeof(array)/sizeof(array[0]); QuickSort(array, 0, len - 1); for (int i=0; i<len; i++) { printf("%d ", array[i]); } printf("\n"); return 0; }