氣泡排序,快速排序

2021-08-20 13:21:16 字數 1484 閱讀 2777

氣泡排序

氣泡排序(英語:bubble sort)是一種簡單的排序演算法。

它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。

走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。

偽**

function bubble_sort (array, length) 

}}函式 氣泡排序 輸入 乙個陣列名稱為array 其長度為length

i 從 0 到 (length - 1)

j 從 0 到 (length - 1 - i)

如果 array[j] > array[j + 1]

交換 array[j] 和 array[j + 1] 的值

如果結束

j迴圈結束

i迴圈結束

c語言

#include void bubble_sort(int arr, int len) 

}int main() ;

int len = (int) sizeof(arr) / sizeof(*arr);

bubble_sort(arr, len);

int i;

for (i = 0; i < len; i++)

printf("%d ", arr[i]);

return 0;

}範例:

testlist = [27, 33, 28, 4, 2, 26, 13, 35, 8, 14]

print('sorted:', bubble_sorted(testlist))

輸出:sorted: [2, 4, 8, 13, 14, 26, 27, 28, 33, 35]

php

function swap(&$x, &$y) 

function bubble_sort(&$arr)

$arr = array(21, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70);

bubble_sort($arr);

for ($i = 0; $i < count($arr); $i++)

echo $arr[$i] . ' ';

氣泡排序的演算法為,

兩兩比較,1跟2比,2跟3比。。。

第一次迴圈會把最大的數放在最後,然後迴圈減少一次。。。

依此論推,最小的數慢慢排到最前面

快速排序

function quick_sort($arr)

排序 氣泡排序 快速排序

快速排序 氣泡排序就是自上向下依次對比兩個數字,若上面的數字大於下面的數字,則兩者交換,否則不交換。這樣每次迴圈結束,未排序的最大的數就到了最下面。如陣列前兩次迴圈過程如下 快速排序的核心是partition 函式,其功能如下所示 34的位置找到後,其將陣列分成兩部分,前一部分都比34小,後一部分都...

排序 氣泡排序 快速排序

1 基本思想 將第乙個記錄的關鍵字與第二個記錄的關鍵字比較,若為逆序,則將兩個記錄交換,再向後比較。關鍵字小的漂浮,關鍵字大的下沉。2 穩定性 演算法穩定。3 時間複雜度 o n 空間複雜度 o 1 4 實現 include define n 5 陣列長度上限 intmain printf 氣泡排序...

排序(氣泡排序 快速排序

關於排序的穩定性 在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄,若經過排序,這些記錄的相對次序保持不變,即在原序列中r i r j 且r i 在r j 之前,而在排序後的序列中,r i 仍在r j 之前,則稱這種排序演算法是穩定的 否則稱為不穩定的。一 氣泡排序 氣泡排序的基本思想 每次比較...