public class TestBubble {
public static void main(String[] args){
int[] a={2,5,8,3,7,9,0,1,4,6};
sort(a);
for(int i=0;i<a.length;i++){
         System.out.print(" "+a[i]);
  }
   }
   public static void sort(int[] a){
     int temp;  
     for(int j=a.length-1;j<=1;j--){
       for(int i=0;i<=j-1;i++){
     if(a[i]>a[i+1]){
      temp=a[i];
      a[i]=a[i+1];
      a[i+1]=temp;
      }   
       } 
     }
   }
}
头晕了,检查了几遍,不知哪出错了!貌似这冒泡法不起作用?

解决方案 »

  1.   

    public static void sort1(int[] a) {
    int temp;
    for (int i = 0; i < a.length; i++) {
    for (int j = i + 1; j < a.length; j++) {
    if (a[i] > a[j]) {
    temp = a[j];
    a[j] = a[i];
    a[i] = temp;
    }
    }
    }
    }
      

  2.   

    好象是temp没有声明他的类型的吧,你试试int[] temp看看行不
      

  3.   

    for(int j=a.length-1;j <=1;j--){ 
    怎么j<=1了啊,应该是j>=1 
      

  4.   

    -----------------
    Thanks:)错误就在这儿,搞了半天都没查出来。下次得小心编写了~~
      

  5.   

    for(int j=a.length;j>=1;j--)
     那句循环应该这样写。。
      

  6.   

    for(int j=a.length;j>=1;j--) 哥哥,以后得注意了。
      

  7.   

    -----------
    呵呵o(∩_∩)o...不好意思,I'm a girl!