java版快速排序法

作者在 2008-11-19 16:32:11 发布以下内容
   快速排序法师对冒泡排序的一种改进,它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后按类似的方法对这部分数据分别进行快速排序,整个排序过程可以使用递归进行,已达到使整个序列成为有序序列:
 
 
int partition(int a[],int low,int high){           /*一趟排序的快速排序法*/
        int b = a[low];
        int pivotkey = a[low];                 /*记录关键字*/
        while(low<high){
            while(low<high && a[high]>=pivotkey)
                  --high;
            a[low]=a[high];
            while(low<high && a[low]<=pivotkey)
                  ++low;
            a[high]=a[low];
         }
         a[low]=b;
         retrun low;
}
 
void Sort(int a[],int low,int high){      /*递归*/
       int pivotloc;
       if(low<high){
             pivotloc=partition(a,low,high);
             Sort(a,low,pivotloc-1);
             Sort(a,pivotloc+1,high);
       }
}
 
 
好好学好java,找份好的工作,努力追求自己的梦!
学习笔记 | 阅读 5659 次
文章评论,共0条
游客请输入验证码
浏览18976次