1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 数据结构—快速排序 C语言代码实现

数据结构—快速排序 C语言代码实现

时间:2019-05-22 07:48:50

相关推荐

数据结构—快速排序 C语言代码实现

快速排序是20世纪的十大算法之一,在常见的o(nlogn)的时间复杂度的算法(快速排序,堆排序,2路归并排序)中,快速排序的平均性能也是最优的,下面是快排的c语言实现代码

// 基本思想是分治法,故一般用到递归void QuickSort(int L[],int low, int high) //low和high指示排序的范围{int temp=0; //用于存储待交换的元素的值int i=low,j=high;if(low<high){temp=L[low]//序列中第一个关键字作为枢轴元素while(i<j){while(i<j&&temp<=L[j]) //从右往左扫描--j;if(i<j){L[i]=L[j]++i;}while(i<j&&temp>=L[i]) //从左往右扫描++i;if(i<j){L[j]=L[i]--j;}}}//一次排序完成 L[i]=temp;//此时temp已经被放在最终位置上,左边的元素均比其小,右边的元素均比其大QuickSort(int L[],int low, i-1);QuickSort(int L[],int i+1, high); //递归,对分成的两个子序列进行快速排序}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。