admin管理员组文章数量:1794759
《算法导论》第七章
快速排序
伪代码:
QuickSort(A,p,r) if p<r q = Partition(A,p,r) //确定划分位置 QuickSort(A,p,q-1) //子数组A[p...q-1] QuickSort(Q,q+1,r) //子数组A[q+1...r]
end
//快速排序关键过程是对数组进行划分,划分过程需要选择一个主元素(pivot element)作为参照,围绕着这个主元素进划分子数组
Partition(A,p,r) //p、r为数组下标 x = A[r] //将最后一个元素作为主元素 i = p-1 // i指向的是比主元素小的位置, for j = p to r-1 //从第一个元素开始到倒数第二个元素结束,比较确定主元素的位置 do if A[j] <= x then i = i+1 //如果比主元素小,则把i=i+1的位置上的元素和j位置发现小元素互换 exchange A[i] <-> A[j] exchange A[i+1]<->A[r] //最终确定主元的位置 return i+1 //返回主元的位置
end
详细参考:wwwblogs/Anker/archive/2013/01/24/2875234.html
版权声明:本文标题:《算法导论》第七章 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686864426a111955.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论