快排算法(迭代实现)

来源:互联网 发布:u盘安装centos 6.5教程 编辑:程序博客网 时间:2024/04/28 21:35
#include<stdio.h>void swap(int v[], int i, int j){int temp;temp = v[i];v[i] = v[j];v[j] = temp;}/* qsort:  sort v[left]...v[right] into increasing order */void qsort(int v[], int left, int right){int i, last;if (left >= right){return;}swap(v, left, (left + right) / 2);last = left;for (i = left + 1; i <= right; i++){if (v[i] < v[left]){swap(v, ++last, i);}}swap(v, left, last);qsort(v, left, last - 1);qsort(v, last + 1, right);}void main(int argc, const char *argv[]){int a[] = {1, 5, 8, 3, 2, 9, 7, 10, 6, 11};int i;qsort(a, 0, 9);for (i = 0; i < 10; i++){printf("%d, ", a[i]);}getchar();}

0 0
原创粉丝点击