当前位置: 代码迷 >> J2SE >> java快速排序算法的代码理解.该如何处理
  详细解决方案

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

热度:270   发布时间:2016-04-24 01:36:44.0
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
  相关解决方案