冒泡排序,插入排序,希尔排序 | 玄数

2014-11-04

1、冒泡排序 Bubble Sort:

  • 从列表的第一个元素开始,与相邻的元素比较,若前者>后者,便交换两个元素。直到把最大的元素排到了最末,完成第一次排列
  • 重复第一步,但比较的次数会减一,直到把第二大的元素排到了倒数第二,完成第二次排列
  • 重复第一步,比较次数依次减一,直到把最小的元素排在首位

 

java程序如下:

import java.util.Arrays;

public class SortOrder {

  int[] array = {9, 7, 5, 3, 1};
  int c = 0;
  int m = 0;

  private void bubbleSort(){

    for(int i = array.length – 1; i > 0; i–){

      for(int j = 0; j < i; j++){
        c++;
        if(array[j] > array[j+1]){
          int temp = array[j];
          array[j] = array[j+1];
          array[j+1] = temp;
          m++;
          System.out.println(Arrays.toString(array));
        }
      }
    }
  }

  public static void main(String[] args) {

    SortOrder sort = new SortOrder();
    sort.bubbleSort();

    System.out.println(“这个算法一共比较了” + sort.c + “次”);
    System.out.println(“移动了” + sort.m + “次”);
  }

}

(更多…)