写的一个冒泡排序,不知道哪里出了问题了,求指教
package sz;for(j=0;j<a.length-2;j++){
import java.io.*;
public class sz {
public static void main(String[] args) {
int a[]={1,3,25,34,15,44,22,5,9,0};
System.out.println("排序结果为:");
Bouble(a);
}
static void Bouble(int a[]){
int i,j,temp;
for(j=0;j<a.length-2;j++){
for(i=0;i<a.length-j;i++){
if(a[i]>a[i+1]){
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
for(i=0;i<a.length;i++)
System.out.println(a[i]);
}
}
改成:
for(j=0;j<a.length-1;j++){
就可以了
你的思路是最大的放后面,我求的是最大数放前面,思路不一样。你看下你的代码,数组越界。。你把第二个循环的i<a.length-j;改为i<a.length-j-1;就可以了