JAVA 冒泡排序法代码

 

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);
    }
}

你可能感兴趣的:(JAVA)