冒泡排序法

思想:

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

代码:

 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²)

posted @ 2017-03-27 17:38  ren_zhg1992  阅读(121)  评论(0)    收藏  举报