1.  数组排序: 
  2.  
  3. 1.选择排序, 
  4. 将数组分两部分,将最小的放到最前,每次循环从后一部分抽出最小的 
  5. public int[ ] ChooseSort( int[ ] arr){ 
  6.   int t; 
  7.   for(int i = 0;i<arr.length;i++){ 
  8.       int m=i
  9.      for(int j=i+1;j<arr.length;j++){ 
  10.      if( arr[ j] <arr[ m ]){ 
  11.       m=j
  12.         if(i!=m)[ 
  13.         t = arr[i]; 
  14.         arr[ i] = arr[ m]; 
  15.         arr[m] = t; 
  16. }}} 
  17. return arr; 
  18. }  
  19.  
  20. 2.冒泡排序: 
  21. 每次循环将最大的数移到最后 
  22. public int[ ] MaoPaoSort(int[ ] arr ){ 
  23.     int t ; 
  24. for(int i = 0;i<ar.length;i++){ 
  25.     for(int j =0;j<arr.length-i-1;j++){ 
  26. if(arr[j]>arr[j+1]){ 
  27.     t = arr[j+1]; 
  28.     arr[ j+1] = arr[j]; 
  29.     arr[j] = t; 
  30.     } 
  31. return arr; 
  32.  
  33.  
  34. 3.插入排序; 
  35. 将数组分成两组,每次将后面一组的索引最小的数放到第一组合适的位置 
  36. public static int[ ] InsertSort(int[] arr){ 
  37.     for(int i=1;i<arr.length;i++){ 
  38.         int temp  = arr[i]; 
  39.         int j = i-1; 
  40.     while(temp<arr[j]){ 
  41.      arr[j+1]=arr[j]; 
  42.     j--; 
  43. if(j<0){ 
  44. break; 
  45. }    
  46.     arr[j+1]= temp; 
  47.     return arr; 
  48. }  
  49.  
  50. 4.快速排序: 
  51. 也是公认的速度最快的排序方式,也称分治发其原理是不断地填坑,不断讲原数组二分具体如下 
  52. public static void QuickSort(int[ ] arr,int left, int right){ 
  53.     int t; 
  54.    int s = arr[left]; 
  55.     int i=left
  56.     int j =right
  57.  
  58.     if(i<j){ 
  59.     while(i<arr.length && arr[--i]<s); 
  60.     while(j>-1 && arr[--j]>s); 
  61.     if(i>j){break;} 
  62.     else{ 
  63.         t=arr[i]; 
  64.         arr[i]=arr[j]; 
  65.         arr[j]=t; 
  66.     } 
  67.     arr[left]=arr[j]; 
  68.     QuickSort(arr,left,j-1); 
  69.     QuickSort(arr,j+1,right); 
  70.     } 
  71. return arr;}