当前位置:编程学习 > 网站相关 >>

再来看看快排算法之一次排序过程

初始序列:49i 3865
97 76  13 27j选择第一个元49素为主元
从j---27开始往前找,比49小的数,就是27了
1次交换后:27i 3865
97 76  13 -----j www.zzzyk.com
再从i---27开始往后找,找一个比49大的数,65
2次交换后:27 38----i
9776  13 65j
从j---65往前找一个比49小的数为13,
3次交换后:27 3813i
97 76  ----j 65
从i开始往后找一个比65大的数为97
4次交换后:27 3813
----i76
97j 65
从j---97开始往前找一个比49小的数为76不是,知道j=i完成一趟排序,
最终第一次排序完后的序列式:
     27  38 13 4976
97 65
 
一次划分后的序列:
{27  38 13 }49
{76 97  65}
分别进行快排
 
1,分区
2,排序
quiksort(list){
 
if(i<j){
   int p = DIV(List,int i ,int j)
  quiksort(list,i,p-1)
  quiksort(list,p+1,j)
}
}
补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,