排序算法——冒泡排序
阿新 • • 發佈:2017-07-11
比較 復雜度 空間復雜度 如果 log 交換排序 交換 冒泡 ++
冒泡排序是一種交換排序,每一趟排序過程中都不斷的比較相鄰兩個元素的大小,如果滿足條件(遞增或者遞減),則交換相鄰兩個元素的位置。
冒泡排序比較簡單,就不必過多闡述,代碼實現如下:
#include <stdlib.h> #include <stdio.h> void BubbleSort(int A[], int n) { int i, j, temp; for(i = 0; i < n-1; i++) // 進行n-1趟排序 { for(j = n-1; j > i; j--) // 從後向前不斷比較相近元素的大小{ if(A[j] > A[j-1]) { temp = A[j]; // 交換相鄰的元素 A[j] = A[j-1]; A[j-1] = temp; } } } }
冒泡排序的時間復雜度為O(n2),空間復雜度為O(1)。
排序算法——冒泡排序