在百度百科上看了介绍快速排序原理,但copy一下代码还是没看懂...大家帮忙看看下面代码啥意思啊...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]+" ");
}
}
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]+" ");
}
}
解决方案 »
- 调用windows下的cmd指令运行.class文件
- 请教用匿名内部类有何好处,多谢!
- 我的问题是:好像有冲突,new的是 类B 呢还是new的是 构造方法B()。
- 请问JMenu 或Menu 对象有能add 的Action Listener 吗?
- 如何从命令行读取内容?
- 怎样在while循环外取值
- ******是菜鸟,有个IT职业选择问题想请教大家,急!******
- 如何将JTree与JTable组和在一起?将JTree作为JTable的一列?
- serverlet.jar如何解压?
- idea maven引入jar包失败,求大神执导
- java3d调用了VRML文件在eclipse上能运行,但在浏览器上运行出错,WHY?
- J2SM问题
http://download.csdn.net/detail/wangdong20/4129396
http://download.csdn.net/detail/wangdong20/4129391