基础-冒泡排序
有一數列 5,1,4,9,7,10, 按照從大到小排序
冒泡排序:就是每次只比較相鄰的兩個數,如果后一個大于前一個的話,將兩個數調換位置,依次類推,將第二個數和第三個數比較,再將第三個數和第四個數比較,當一趟比較完成之后,會確定一個數的位置(也就是說每一趟只能確定一個數的位置,因此n個數,就需要n-1趟的比較),冒泡排序的核心就是雙層嵌套循環,時間復雜度O(N2)
public static void main(String[] args) {bubbleSort(new int[]{5, 1, 4, 9, 7, 10});}public static void bubbleSort(int[] arr) {//冒泡排序需要進行n-1趟比較,每一趟需要比較n-i個數for (int i = 0; i < arr.length - 1; i++) {for (int j = 0; j < arr.length - i - 1; j++) {//比較相鄰的兩個數,需要比較if (arr[j] < arr[j+1]) {int temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp;}}}for (int i : arr) {System.out.print(i + "->");}} 10->9->7->5->4->1->?
總結
- 上一篇: 基础-快速排序(基本)
- 下一篇: 基础-栈队列简单测试