关于Java排序算法-冒泡排序(Buddle Sort)

关于Java排序算法-冒泡排序(Buddle Sort)

基本思想:
a.从尾到头两两比较待排序的顺序表的记录,发生逆序则交换。(一遍扫描后,最小元素在表头)
b.把n的问题变为n-1的问题。
c.重复a,b 直至n= 1为止。

public class SortTest {
  public static void main(String[] args) {
    int[] arr = { 49, 38, 65, 97, 76, 13, 27, 49 };
    display("原始数据 : ", arr);
    // 冒泡排序
    buddleSort(arr);
    display("排序结果:", arr);
  }

  // 交换元素
  public static void swap(int[] arr, int a, int b) {
    int temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
  }

  // 显示
  public static void display(String str, int[] arr) {
    System.out.println(str);
    for (int i = 0; i < arr.length; i++) {
      System.out.print(arr[i] + " ");
    }
    System.out.println();
  }

  // 冒泡排序
  public static void buddleSort(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
      for (int j = 0; j < arr.length - 1 - i; j++) {
        if (arr[j] > arr[j + 1]) {
          swap(arr, j, j + 1);
        }
      }
    }
  }
}

原始数据 :
49 38 65 97 76 13 27 49
排序结果:
13 27 38 49 49 65 76 97

发表回复

您的电子邮箱地址不会被公开。