public   class   A   {   
 
      public   static   void   main(String[]   args)   {   
          int[]   str={10,5,4,6,2,33,35};   
          int   a,b;   
          for(int i=0;i<str.length;i++){   
                  for (int j=i;j<str.length;j++){
                                           if(str[i]>str[j])
                         {
                         int temp;
                         temp=str[i];
                         str[i]=str[j];
                         str[j]=temp;  
                       }
                }   
          }   
          for(int j=0;j<str.length;j++)   
          {   
             System.out.print(str[j]); 
             System.out.print(',');    
    
          }   
           
     }
}   

解决方案 »

  1.   

    从第一个数(10)开始,和其他的书比较, <10 的话,就和 10 互换位置, 循环后所有 < 10 都排 10 的前面;
    依次类推,第一个数(5)
      

  2.   

    void BubbleSort(SeqList R)
       { //R(l..n)是待排序的文件,采用自下向上扫描,对R做冒泡排序
         int i,j;
         Boolean exchange; //交换标志
         for(i=1;i<n;i++){ //最多做n-1趟排序
           exchange=FALSE; //本趟排序开始前,交换标志应为假
           for(j=n-1;j>=i;j--) //对当前无序区R[i..n]自下向上扫描
            if(R[j+1].key<R[j].key){//交换记录
              R[0]=R[j+1]; //R[0]不是哨兵,仅做暂存单元
              R[j+1]=R[j];
              R[j]=R[0];
              exchange=TRUE; //发生了交换,故将交换标志置为真
             }
           if(!exchange) //本趟排序未发生交换,提前终止算法
                 return;
         } //endfor(外循环)
        } //BubbleSort