冒泡排序法 C++
實在是想感嘆一下,因為一個很簡單的東西,自己在網上找了半天反而弄的很復雜,邏輯性太強,小白實在是看不懂。因此,下面是一個最小白的冒泡排序的實現方式。
時間復雜度o(n*n)。
邏輯分析:
依次比較數組中的兩個元素,較小的放在前面,較大的放在后面。
重復上面步驟,對,一直重復第一個步驟直到排序完成為止。
實例分析:
輸入數組:
9 8 7 6 5 4 3 2 1 0
第一次循環
8 7 6 5 4 3 2 1 0 9
分析一下,怎么久到這兒來的,首先比較9和8,9后移,數組變成8?9 7 6 5 4 3 2 1 0,繼續比較9和7,然后9又后移,移呀移,就到最后啦。
第二次循環
7 6 5 4 3 2 1 0 8 9
第三次循環
6 5 4 3 2 1 0 7 8 9
第四次循環
5 4 3 2 1 0 6 7 8 9
第五次循環
4 3 2 1 0 5 6 7 8 9
第六次循環
3 2 1 0 4 5 6 7 8 9
第七次循環
2 1 0 3 4 5 6 7 8 9
第八次循環
1 0 2 3 4 5 6 7 8 9
第九次循環
0 1 2 3 4 5 6 7 8 9
第十次循環
0 1 2 3 4 5 6 7 8 9
?
總結
- 上一篇: 喝什么可以减肥瘦肚子
- 下一篇: 选择排序 C++