作为一个程序员 不知道快速排序,不知其可也。
快速排序的思路是,大千世界,有那么多人,那么多数。但所有的数,都和某个数去比较。这样就能保证,一半区域都是小于那个数的。
另一半都是大的。
这样就把大数据一份为2了。 再重复用这种方法。最终会遇到某两个数去相比较。
每一个小家庭和谐了,那么整个社会就和谐了。
多么伟大的思想。造就了这么好的算法。
其中的swap函数,看到java调用函数的不同。
package bigo;
public class quick2 {
private static void swap(int src[], int one, int other){
int tmp = src[one];
src[one]=src[other];
src[other]=tmp;
}
public static void quick_sort(int src[], int left, int right){
if(left >= right)
return;
int i=left ,j=right;
int key=src[left];
while(i<j){
while(src[j]>=key && i < j)
j--;
while(src[i]<=key && i<j)
i++;
swap(src,i,j);
}
swap(src,i,left);
quick_sort(src,left,i-1);
quick_sort(src,i+1,right);
}
static public void main(String [] arg)
{
int src[] = {9,1,8,2,7,3,6,4,5};
quick_sort(src,0,src.length-1);
for(int i=0;i<src.length;i++){
System.out.println(src[i]);
}
}
}