冒泡排序法
思想:
冒泡排序的思想很简单,就是以此比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小的元素如同气泡一样,会最终浮到水面上。

代码:
1 #include <iostream> 2 using namespace std; 3 4 void MySwap(int& a,int& b) 5 { 6 int temp; 7 temp = a; 8 a = b; 9 b = temp; 10 } 11 12 13 int BubbleSort(int *array, int len) 14 { 15 if (array == NULL || len <= 0) 16 return -1; 17 int i, j; 18 for (i = 0; i < len; i++) 19 { 20 for (j = len - 1; j>i; j--) 21 { 22 if (array[j] < array[j - 1]) 23 MySwap(array[j], array[j - 1]); 24 } 25 } 26 return 0; 27 } 28 29 int main() 30 { 31 int i; 32 int array[] = { 5, 6, 3, 4, 8, 9, 4, 5 }; 33 int len = sizeof(array) / sizeof(int); 34 35 BubbleSort(array, len); 36 for (i = 0; i < len; i++) 37 printf("%d\n", array[i]); 38 getchar(); 39 40 }
算法复杂度 O(n²)

浙公网安备 33010602011771号