排序

来源:互联网 发布:云计算前景分析 编辑:程序博客网 时间:2024/06/17 18:37
1。冒泡排序:特点是相邻的两个进行对比排序,1和2排序完了2和3,第一次排序完之后最后一个就是最大值,依次进行,总共有length-1次排序,最后一次排序的特点是第一个和第二个作比较
public static void bubbleSort(int[] arr){
  for(int x = 0 ; x < arr.length-1;x++){
   for(int y = 0 ; y<arr.length-1-x ; y++){
    if(arr[y]>arr[y+1]){
     int temp = arr[y] ;
     arr[y] = arr[y+1] ;
     arr[y+1] = temp ;
    }
   }
  }
 }

2.选择排序:特点是第一次排序完之后最小值出现在第一个地方,总共的排序次数是length-2次,对于内层循环最后一次作比较的都是倒数第一和倒数第二,当y走到倒数第二的时候就停了,不会走到倒数第一。倒数第一用length-1表示
public static void selectSort(int[] arr){
  for(int x = 0 ; x < arr.length-1 ; x ++ ){
   for(int y = x +1 ; y < arr.length ; y++){
    if(arr[y]<arr[x]){
     int temp = arr[x] ;
     arr[x] = arr[y] ;
     arr[y] = temp ;
    }
   }
  }
 }