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

java快速排序算法的代码理解.该如何处理

2012-04-13 
java快速排序算法的代码理解...在百度百科上看了介绍快速排序原理,但copy一下代码还是没看懂...大家帮忙看

java快速排序算法的代码理解...
在百度百科上看了介绍快速排序原理,但copy一下代码还是没看懂...大家帮忙看看下面代码啥意思啊...

Java code
public class QuickSort {    public static int Partition(int a[],int p,int r){        int x=a[r-1];        int i=p-1;        int temp;        for(int j=p;j<=r-1;j++){            if(a[j-1]<=x){                // swap(a[j-1],a[i-1]);                i++;                temp=a[j-1];                a[j-1]=a[i-1];                a[i-1]=temp;                        }        }        //swap(a[r-1,a[i+1-1]);        temp=a[r-1];        a[r-1]=a[i+1-1];        a[i+1-1]=temp;                return i+1;        }    public static void QuickSort(int a[],int p,int r){        if(p<r){            int q=Partition(a,p,r);            QuickSort(a,p,q-1);            QuickSort(a,q+1,r);        }    }                    public static void main(String[] stra){        int a[]={23,53,77,36,84,76,93,13,45,23};        QuickSort(a,1,10);            for (int i=1;i<=10;i++)         System.out.print(a[i-1]+" ");                            }}


[解决办法]
你可以看下快速排序的动画,原理差不多,只是我是以a[0]作为分区标准的
http://download.csdn.net/detail/wangdong20/4129396
http://download.csdn.net/detail/wangdong20/4129391

热点排行