JAVA 冒泡排序法代碼

來源:互聯網
上載者:User

 

public class A...{
   
   public static void sort(String arg)...{
       String[] args=arg.split(",");
       for(int i=0;i<args.length;i++)...{
           for(int j=0;j<args.length-i-1;j++)...{
               int a=Integer.parseInt(args[j]);
               int b=Integer.parseInt(args[j+1]);
               if(a>b)...{
                   a=a^b;
                   b=a^b;
                   a=a^b;
               }
               args[j]=String.valueOf(a);
               args[j+1]=String.valueOf(b);
           }
       }
       for(int i=0;i<9;i++)...{
           System.out.print(args[i]+",");
       }
   }

   public static void main(String[] args)...{
       sort("2,10,3,50,78,22,34,30,65");
   }

        
}

改進Ⅰ型
A.java

import java.util.*;
public class A{
   static int ci=0;
   public static void sort(String arg,int flag){
       String[] args=arg.split(",");
       long c1=Calendar.getInstance().getTimeInMillis();
       _out:
       for(int i=0;i<args.length;i++){
           int n=0;
           for(int j=0;j<args.length-i-1;j++){
               int a=Integer.parseInt(args[j]);
               int b=Integer.parseInt(args[j+1]);
               ci++;
               if(a>b){
                   a=a^b;
                   b=a^b;
                   a=a^b;
                   n++;
               }
              
               args[j]=String.valueOf(a);
               args[j+1]=String.valueOf(b);
           }
           
           if(n==0 && flag==1){
                   break _out;
           }
           
       }
       for(int i=0;i<args.length;i++){
           System.out.print(args[i]+",");
       }
       long c2=Calendar.getInstance().getTimeInMillis();

       long d1=c2-c1;
       System.out.println();
       System.out.println("------------------------------------------------------");
       System.out.println("已耗用時間:"+d1+"毫秒,迴圈"+ci+"次");
   }

   public static void main(String[] args){
       sort("2,10,3,50,78,22,34,30,65,1,4,7,8,9,5,6,12,11,13,17,16,19,23,25,33,20",Integer.parseInt(args[0]));
   }
        
}

B.java 測試類別

import java.io.*;
import java.util.*;
public class B
{
    public static void main(String[] args){
       List li=new ArrayList();
       Random rnd=new Random();
                        //產生10000個無序的不重複整數
       for(int i=0;i<10000;i++){   
           int a=rnd.nextInt(10000);
           while(li.contains(new Integer(a))){
               a=rnd.nextInt(10000);
           }
           li.add(new Integer(a));
       }
       Object[] ints=li.toArray();
       String s=Arrays.toString(ints);
       s=s.substring(1,s.length()-2);
       s=s.replaceAll(" ","");
       A ao=new A();
       int flag=Integer.parseInt(args[0]);
       ao.sort(s,flag);
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.