자바 는 각각 거품 정렬,삽입 정렬,빠 른 정렬,선택 정렬,교환 정렬 을 실현 합 니 다.

1.    :
public class BubbleSort {
 public  static  void  main  (String  [] args ){
  
  int values []={2,4,6,8,10};
  sort(values);
  for (int i=0;i<values.length;i++){
   System.out.println("index:"+i+"   "+"value:"+values[i]);
  }
  
  
 }
 private static void sort(int[] values) {
  // TODO Auto-generated method stub 
  int temp;
  for(int i=0;i<values.length;i++){
   for(int j=0;j<values.length-i-1;j++){
    temp=values[j];
    values[j]=values[j+1];
    values[j+1]=temp;
   }
  }
  
 }
 
}
2.    
/**
 *     
 * @author Administrator
 *
 */
public class InsertSort{
	public static int [] values=new int []{3,2,5,6,8,7,1,4,9,10};
	public static void main(String[] args) {
		  //            ,                          
		for(int i=0;i<values.length;i++){
			  //     n         
			int key=values[i];
			int j=i-1;
		 //            ,           ,     ,      。
			while(j>=0  && values[j]>key){
				
				values[j+1]=values[j];
				values[j]=key;
				j--;
			}
		}
		 /*        
		   *          n*n=n^2。
		   *       (           ),   n=1,         ,    n。     
		   * 
		   */      
		  //     
		
		printArray();
	}
	private static void printArray() {
		for (int i : values){
			System.out.print(i+ " ");
		}
		
	}
	
	
	
}
 
3.    
public class QuickSort {    
 //      
 private static int[] input = new int[] { 2, 1, 5, 4, 9, 8, 6, 7, 10, 3 };    
 public static void main(String[] args) {         
  //           
  quickSort(input, 0, input.length - 1);     
  //          
  printArray();   
  }
private static void quickSort(int[] array, int from, int to) {     
 if (from < to) {          
  int temp = array[to];           
  int i = from - 1;           
  for (int j = from; j < to; j++) {           
   if (array[j] <= temp) {                  
    i++;                    
    int tempValue = array[j];                 
    array[j] = array[i];                  
    array[i] = tempValue;               
    }           
   }           
  array[to] = array[i+1];          
  array[i+1] = temp;           
  quickSort(array, from, i);           
  quickSort(array, i + 1, to);    
  }     }      
private static void printArray() {      
 for (int i : input) {         
  System.out.print(i + " ");    
  }   
 } 
} 
4.    
public class SelectionSort {  
 private static int[] input = new int[] { 2, 1, 5, 4, 9, 8, 6, 7, 10, 3 };     
 public static void main(String[] args) {      
  for (int i=0; i<input.length-1; i++) {
   //   :n         
   int key = input[i];          
   int index = i;         
   //             ,            ,    。        
   for (int j=i+1; j<input.length; j++) {
    //   :1+2+...+(n-1)=Θ(n^2)           
    key = key < input[j] ? key : input[j];          
    index = key < input[j] ? index : j;          
    }           
   input[index] = input[i];         
   input[i] = key;        
   }        
  /*         
   *      :     
   *      ,    :n*n=n^2(          :n-1+1+2+...+n-1=(2+n)*(n-1)/2,       
   *        n^2。        
   *      ,            ,                ,         n^2。          
   */       
  //           
  printArray();    
  }      
 private static void printArray() {   
  for (int i : input) {        
   System.out.print(i + " ");     
   }    
  }   
 } 
 5、    
import java.util.Arrays;


public class Swapsort {

public static void main(String[] args) {
int [] values=new int[]{
(int) (Math.random()*100),
(int) (Math.random()*100),
(int) (Math.random()*100),
(int) (Math.random()*100),
};

System.out.println(Arrays.toString(values));
swap(values);
System.out.println(Arrays.toString(values));

}


private static void swap(int[] values) {
// TODO Auto-generated method stub
int temp;
int len=values.length;
for(int i=0;i<len/2;i++){
temp=values[i];
   values[i]=values[len-i-1];
   values[len-i-1]=temp;
}
}


}

 




좋은 웹페이지 즐겨찾기