欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

QuickSort简解(分治思想) By ACReaper

发布时间:2024/4/15 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 QuickSort简解(分治思想) By ACReaper 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

快排又称为快速排序算法

快熟排序主要思想为:递归而分,重于分而治,而简与合。


治:


int partition(int A[],int st,int ed){int key = A[st];//把第一个元素作为支点int j = st;//j一直指向小于等于key一类的尾元素for(int i = st + 1; i <= ed;i++){//扫描剩下元素,实现分成两类,一类小于等于key,一类大于等于keyif(A[i] <= key){j++;int temp = A[j];A[j] = A[i];A[i] = temp;}}int temp = A[j];A[j] = A[st];A[st] = temp;return j; } 分:如何分画一个递归树就一目明了,我们可以知道在递归树中,每一个结点,都要实行“治”。所以有void QuickSort(int A[],int st,int ed){if(st < ed){int mid = partition(A,st,ed);QuickSort(A,st,mid - 1);//两个方向分别搜素所有结点,完成所有治理,完成排序。QuickSort(A,mid + 1,ed);}} By ACReaper 2013 03 23



转载于:https://www.cnblogs.com/sixcoder/archive/2013/03/23/3825993.html

总结

以上是生活随笔为你收集整理的QuickSort简解(分治思想) By ACReaper的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。