Java分别实现冒泡排序、插入排序、快速排序、选择排序、交换排序


1.冒泡排序:
public class BubbleSort {
 public  static  void  main  (String  [] args ){
  
  int values []={2,4,6,8,10};
  sort(values);
  for (int i=0;i=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


你可能感兴趣的:(数据结构与算法,java)