氣泡排序和選擇排序一樣是我們接觸相對早的一種排序演算法。下面簡單講解一下氣泡排序的思想:
演算法思想:
氣泡排序,顧名思義,排序的過程就像氣泡在水裡上公升一樣。就是對陣列進行不斷地掃瞄,每當遇到比標記的資料大的元素就交換兩個資料。這樣掃瞄一遍之後就會產生乙個最小或最大的元素位於最終的位置上。之後進行第二遍掃瞄,第三遍......最終完成。
氣泡排序是一種穩定的演算法,他的最好時間複雜度是o(n),就是在基本有序的情況下。最壞和一般情況下為o(n
2)。演算法實現:
1 #include2using
namespace
std;34
void swap(int &a, int &b)
9void bubblesort(int *data, int
length)
1415
for(int i = 0; i < length; i++)
20} 21}
22}2324
intmain();
26int len = sizeof(str) / sizeof(int
);27
bubblesort(str, len);
2829
for(int k = 0; k < len; k++)
3233
return0;
34 }
經典排序之氣泡排序
邊學習邊記載。氣泡排序是經典排序之一,時間複雜度是o n 2 以如下陣列為例 陣列 5 6 3 1 8 7 2 4,以從小到大排序為例 i表示陣列下標,初始化為0 5 6 3 1 8 7 2 4 第一輪是從0到n 1比較,n為陣列的長度 1 首先i 0 比較5,6,由於5 6,所以保持不變 2 i ...
經典排序之氣泡排序
關於排序,是我們經常用到的。目前,就我了解的,應該有 氣泡排序 選擇排序 希爾排序 折半排序 快速排序 堆排序 桶排序 歸併排序 基數排序 其實還有很多,慢慢來吧乙個乙個總結一下,希望在鞏固自己的同時也能夠幫到大家 氣泡排序的原理 以公升序舉例 氣泡排序就是從第乙個數開始和後乙個數比較 如果如果前者...
經典排序之氣泡排序
1.i 0被定為第乙個,後面逐漸比較這個值 1位置,2位置,知道 n 1 位置,第一輪排序結束,最小值被最先固定,開始第二輪,i 在於後面的值進行比較,輪迴往復,直到i n 1,迴圈結束。注 這樣的好處是,最小值被最先固定。public static int bubblesort int arr r...