作者在 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,找份好的工作,努力追求自己的梦!