男篮张大维第三任妻子:java中用快速排序(排序算法应该是正确的),不报错,但执行起来不行。在elipse中执行的。

来源:百度文库 编辑:高考问答 时间:2024/05/01 12:01:33
public class Eam1 {

public Eam1()
{

}
private static void QuickSort(int[] Arr5,int left,int right)
{
if(left<right){
int pivotpos=Partition(Arr5,left,right);
QuickSort(Arr5,left,pivotpos);
QuickSort(Arr5,pivotpos+1,right);
}
}

static int Partition(int[] Arr5,int low,int high)
{
int temp;
int pivotpos=low;
int pivot=Arr5[low];
for(int i=low+1;i<=high;i++)
if(Arr5[i]<pivot&++pivotpos!=i)
{
temp=Arr5[pivotpos];
Arr5[pivotpos]=Arr5[low];
Arr5[low]=temp;
}
temp=Arr5[low];
Arr5[low]=Arr5[pivotpos];
Arr5[pivotpos]=temp;
return pivotpos;

}
public static void main(String[] args)
{
int i;
int []Arr5 = null; //initialize
for(i=0;i<8;i++)
{
Random generator=new Random();
Arr5[i]=generator.nextInt(10);
}

for(i=0;i<8;i++)
{
System.out.println(Arr5[i]);
}
QuickSort(Arr5,0,7);

}
}

int []Arr5 = null; //initialize
数组初始化错误
int []Arr5 = new int[8];

if(Arr5[i]<pivot&++pivotpos!=i)

想用与可以用&& &是位与
if(Arr5[i]<pivot && ++pivotpos!=i)

得随即数的地方也有错误~