氣泡排序思想介紹:
核心思想:相鄰兩個數之間比較,把大的數往右換,最終每經過一次內層迴圈,就把當前未排序的陣列的最大值換到最右邊去了;如果是從大到小排序,就把小的數往右換,換到最後那個數就是最小的
時間複雜度:氣泡排序的時間複雜度為o(n^2),很好理解,內外層迴圈
下面貼上**:
void bubble_sort(
int* a,
int n)}}
}
最近在學習python,下面給出python的**,思想是一樣的,只是語言更簡潔:
def
bubble_sort
(l):
for i in
range
(len
(l))
:for j in
range
(len
(l)-
1-i):if
(l[j]
>l[j+1]
):l[j]
,l[j+1]
=l[j+1]
,l[j]
return l
上述**親測能夠執行出正確結果,如有問題,歡迎隨時指正,在此致謝! 經典排序 氣泡排序
所謂 氣泡排序 可以從名稱上理解 以從小到大來舉例,冒泡 實際上就是指把值更大的元素放到數列的後面 如果是從大到小排列,則反之 通過交換來實現。我們先來大致地看下面的 感受一下氣泡排序的執行過程 氣泡排序 includeusing namespace std void bubblesort int ...
經典排序演算法,氣泡排序
氣泡排序是本人在大一學習c語言的時候就已經學過了,最近這段時間想起來把比較經典的排序演算法拿來回顧一下,鞏固一下知識。氣泡排序的核心就是比較相鄰兩個數的大小,然後將小的 或者大的 放到前面去,經過一趟之後,就能把最小或者最大的放到最前面,第二趟排序的時候,第乙個數不參與排序,從第二個數開始,經過一趟...
經典排序之氣泡排序
邊學習邊記載。氣泡排序是經典排序之一,時間複雜度是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 ...