我刚学java,编了个quicksort,但是输出是会循环出现atJ_Quicksort.quicksort(J_Quicksort.java:32)这条语句,求各位大仙指教啊!!!!代码如下:classJ_Quicksort{staticint[]a=new...
我刚学java,编了个quicksort,但是输出是会循环出现
at J_Quicksort.quicksort(J_Quicksort.java:32)
这条语句,求各位大仙指教啊!!!!
代码如下:
class J_Quicksort
{
static int[ ] a=new int[5];
public int split(int low,int high)
{
int i=low;int sw;int w=0;
int x=a[low];
for(int j=low+1;j<=high;j++)
{
if(a[j]<=x)
{
i++;
if(i!=j)
{
sw=a[i];
a[j]=a[i];
a[i]=sw;
}
}
}
sw=a[i];
a[i]=a[low];
a[low]=sw;
w=i;
return w;
}
public void quicksort(int low,int high)
{
int w=0;
if(low
w=split(low,high);
quicksort(low,w-1);
quicksort(w+1,high);
}
public static void output()
{
for(int i=0;i<5;i++)
System.out.println(a[i]);
}
public static void main(String args[ ])
{
a[0]=3;
a[1]=49;
a[2]=26;
a[3]=9;
a[4]=12;
output();
J_Quicksort m=new J_Quicksort();
m.quicksort(0,2);
output();
}
}
展开