您的位置:首页 > 编程语言 > C语言/C++

C语言实现快速排序

2015-09-04 15:25 691 查看
//快速排序

#include<stdio.h>

typedef int ElemType;

int Partition(ElemType A[], int left, int right)

{

ElemType pivot = A[left];

while(left < right)

{

while(left<right && A[right]>=pivot)

--right;

A[left] = A[right];

while(left<right && A[left]<=pivot)

++left;

A[right] = A[left];

}

A[left] = pivot;

return left;

}

void QuickSort(ElemType A[], int left, int right)

{

if(left < right)

{

int pivotpos = Partition(A,left,right);

QuickSort(A,left,pivotpos-1);

QuickSort(A,pivotpos+1,right);

}

}

main()

{

ElemType A[10] = {24,84,21,47,15,27,68,35,20,99};

int i;

printf("Quick Sort\n\n");

printf("array A number:");

for(i=0; i<10; i++)

printf("%d ",A[i]);

printf("\n\n");

QuickSort(A,0,9);

printf("Result:");

for(i=0; i<10; i++)

printf("%d ",A[i]);

printf("\n\n");

}

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: