氣泡排序(bubble sort),是一種電腦科學領域的較簡單的排序演算法。
它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。
這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端(公升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「氣泡排序」。
這是百科對「氣泡排序」的解釋,其基本原理就是:比較一組資料中相鄰元素的大小,以公升序為例,將值小者向前,值大者向後,直至所有元素從小到大顯示。在對任一長度為count的陣列進行排序時,發現以下規律:需要排序 count-1 輪,每 i 輪需要比較 count-i 次。由此使用雙重迴圈,外層控制迴圈輪次,內層控制每輪比較次數。**如下:
測試**:
結果:
PHP之氣泡排序
昨天去酷狗面試的時候,在筆試那一關,有道要求用php實現氣泡排序的程式設計題,因為實在太久沒用過氣泡排序,忘記了演算法的原理,結果留了空白,實在無語。因此今天把php的氣泡排序 記錄一下 氣泡排序 param array numbers 要排序的陣列,只限數字一維陣列 param boolean a...
重溫演算法導論(三) 氣泡排序
氣泡排序原理簡單,從最後的元素與前面的元素比較,小於則交換,最後最小的在最左邊 偽 實現如下 for i 1 to length a 實際陣列的下標從0開始 do for j length a downto i 1 do if a j a j 1 then exchange a j a j 1 實際...
php排序演算法之氣泡排序
一 原理 二 舉例說明 三 php 實現氣泡排序 對一組資料,比較相鄰資料的大小,將值小資料在前面,值大的資料放在後面。以下都是公升序排列,即從小到大排列 arr array 6,3,8,2,9,1 arr 有6個資料,按照兩兩比較大小如下,注意比較輪數 和 每輪比較次數 第一輪排序 第一輪比較總結...