經典排序演算法 - 氣泡排序Bubble Sort
阿新 • • 發佈:2018-11-06
最近學習了一下排序演算法,寫篇文章記錄一下,詳細講解網上有很多,可以自己去查
氣泡排序Bubble Sort
氣泡排序是通過兩兩比較,最大的往後移,重複這一過程直到資料不再交換,則排序完成。氣泡排序的時間複雜度是O(n²),是穩定排序。
演算法描述(Java):
import java.util.Arrays; public class SortAlgorithm { public static void bubbleSort(int[] array) { boolean flag = true; for (int i = 1; i < array.length; ++i) { for (int j = 1; j < array.length; ++j) { if (array[j - 1] > array[j]) { array[j - 1] = array[j - 1] ^ array[j]; array[j] = array[j - 1] ^ array[j]; array[j - 1] = array[j - 1] ^ array[j]; flag = false; } } if (flag == true) break; flag = true; } } public static void main(String[] args) { int[] array = { 18, 8, 22, 37, 5, 25, 11, 8, 30 }; bubbleSort(array); System.out.println(Arrays.toString(array)); } }