Quicksort

来源:互联网 发布:西游无双斩妖红颜java 编辑:程序博客网 时间:2024/05/15 23:48

     今天就看了25分钟的视频教程,时间短得可怜,很沮丧。但总算对quicksort有了一定的认识,看来隔段时间再想同样的问题,会有不同的理解。

int quicksort(A,P,Q)

     r<--A[P];   

//初始值,选定的一个数

     i<--P;   

//因为P是一个常量,将它的值赋予i,方便以后的交换

     for  j=P+1 to Q

     {

     if(A[j]<=r)   

//小于特征数的,交换,即小的往前移动了;大于特征数的,等着以后被换,即以后出现小的数,将与之交换,所以会往后移

      {

     i=i+1;   

//起始的特征数r位置不变,即是A[P],但i往后移动了,方便交换

    exchange A[i]<---->A[j]   ;

       }

     }

     exchange   A[i]<---->A[P];      

//当j到达Q循环结束时,无论A[Q]是大于还是小于r(大于的情况下,i不变,小于等于的情况下,i=i+1),但总归A[i[的值是小于等于r的

//将特征数r插入A[i]中,那么A[P]----A[i-1]均小于r;A[i+1]----A[Q]均大于r

//注意:不是A[I+1]与r交换 因为不确定A[i+1]是否小于r;而A[i]是确定小于r的,所以交换之后,A[P](之前的A[i])----A[i-1]绝对是小于等于r的

   

     return i;

 

 

整理一遍后,能发现很多问题,花的时间是看视频时间的2倍多。晚上继续list26。才第二天,坚持住呀。

 

我勒个去,排版真的很曰啊。。
原创粉丝点击