首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2013-02-25 
再来看看快排算法之一次排序过程初始序列:49i 386597 76 13 27j选择第一个元49素为主元从j---27开始往前找

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

初始序列:49i 386597 76 13 27j选择第一个元49素为主元

从j---27开始往前找,比49小的数,就是27了

1次交换后:27i 386597 76 13 -----j

再从i---27开始往后找,找一个比49大的数,65

2次交换后:27 38----i9776 13 65j

从j---65往前找一个比49小的数为13,

3次交换后:27 3813i97 76 ----j 65

从i开始往后找一个比65大的数为97

4次交换后:27 3813----i7697j 65

从j---97开始往前找一个比49小的数为76不是,知道j=i完成一趟排序,

最终第一次排序完后的序列式:

     27 38 13 497697 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)

}

}

热点排行