快速排序算法

来源:互联网 发布:谷歌翻译 mac 编辑:程序博客网 时间:2024/06/05 19:39

快速排序算法算法是冒泡排序的改进,选择一个元素作为枢纽(任意一个元素都可以,一般选择第一个元素或者中间的元素),进行一次排序后,比枢纽大的元素排在枢纽的右边,比枢纽小的元素排在枢纽左边。再递归分别排左边的元素和右边的元素。

代码如下:

#include<stdio.h>void quick_sort(int R[],int const l,int const r){if(l<r){int i=l,j=r,temp=R[l];while(i<j){while(i<j && R[j]>=temp)--j;if(i<j)R[i++]=R[j];while(i<j && R[i]<=temp)++i;if(i<j)R[j--]=R[i];}R[i]=temp;quick_sort(R,l,i-1);quick_sort(R,i+1,r);}}void main(void){int i;int a[10]={6,5,4,3,2,1,0,9,8,7};quick_sort(a,0,9);for(i=0;i<10;i++)printf("%d ",a[i]);}


0 0
原创粉丝点击