天天看點

資料結構基礎(1) --Swap & Bubble-Sort & Select-Sort

小結:

雖然我們自己實作了swap,但我們還是比較推薦使用C++ STL已經實作好的std::swap()函數,其存在于命名空間std中,使用執行個體如下面的<冒泡排序>.

算法思想:

從左到右掃描資料,找出最大的元素,将其放到數組右邊;

過程:

循環比較相鄰的兩個數,如果左邊的數比右邊的大,則交換兩個數;

思想:

從目前尚未排序的序列中選擇一個最小的元素, 将之放到已排序的序列的隊列的末尾;

要點:

1.注意三個指針(inner, outer, miner)所代表的含義;

2.同時注意是從未排序的序列中進行查找最小元素!

雖然我們自己實作了Bubble-Sort和Select-Sort,但我們在實際軟體開發中一般是不會用到的,因為的它的效率為O(N^2),效率太慢^_^, 是以我們還是推薦使用C++ STL中已經實作了的std::sort(), 其内部原理使用了快速排序, 效率為O(logN)速度非常快.

附-測試程式

繼續閱讀