魔兽世界站桩升级地点:我用java写的冒泡排序程序错在哪?

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 04:06:07
//非递增冒泡排序
public class b {
public static void main(String[] args) {
int n=9,a[]={9,8,7,6,5,4,3,2,1},i,j,x;
for(i=0; i<n; i++)
System.out.println("a[ " + i + "]= " + a[i]);

for(i=0; i<n; i++)for(j=n-9; j>0; j--) {if(a[j]<a[j-1]) { x=a[j]; a[j]=a[j-1]; a[j-1]=x;}} //冒泡

for(i=0; i<n; i++)
System.out.println("a[ " + i + "]= " + a[i]);
}
}

编辑都没有错误,但运行的时候那个数组没有改变。
我实在是不知道错在哪了,各高手帮我看一下,谢谢!

for(j=n-i;j>0;j--)

//for(i=0; i<n; i++)for(j=n-9; j>0; j--) {if(a[j]<a[j-1]) { x=a[j]; a[j]=a[j-1]; a[j-1]=x;}}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
x=a[i];
a[i]=a[j];
a[j]=x;
}
}

for(i=0; i<n; i++)for(j=n-9; j>0; j--) {if(a[j]<a[j-1]) { x=a[j]; a[j]=a[j-1]; a[j-1]=x;}} //冒泡

应该是j=9-n

for(j=n-9; j>0; j--) //for(j=9-i;j>=0;j--)