演算法初入門 氣泡排序

2021-07-27 21:33:36 字數 1013 閱讀 4722

氣泡排序演算法的流程如下:

1.比較相鄰的元素。 如果第乙個比第二個大,就交換他們兩個。

2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。 在這一點,最後的元素應該會是最大的數。

3.針對所有的元素重複以上的步驟,除了最後乙個。

4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

上面引用的這一大段話基本可以概括為取在陣列arr中序列為i的元素arr[i]與所有在該陣列中且序列在i以後的元素進行比較,如果arr[i]大於arr[i+x]則兩者互換位置,直到arr[i]與該陣列最後乙個元素比較完畢後停止比較。在將i的值變為i+1時再重複上一步驟的操作。

用乙個簡單的例子來說明這一過程:

//比方說有乙個陣列

[2,4,3,1,5]

//對這個陣列利用氣泡排序對其進行從小到大的整理

//將2與其後面的4進行比較,發現2<4,則維持當前狀態不變

[2,4,3,1,5]

//將2與4後面的3進行比較,發現2<3,則維持當前狀態不變

[2,4,3,1,5]

//將2與3後面的1進行比較,發現2>1,則交換位置

[1,4,3,2,5]

//將目前處於陣列中第乙個元素(arr[0])的1與其當前位置後面的5進行比較,發現1<5,則維持當前位置不變,因為5是該陣列中最後乙個元素則進行下乙個迴圈,由處於陣列中第二個元素(arr[1])4開始向其序列後面的所有元素進行同樣的比較,其結果為

[1,3,4,2,5]——>[1,2,4,3,5]——>[1,2,3,4,5]

**如下

//這裡是利用js**實現的過程

var arr = [2,4,3,1,5];

var box;

var px = function

()else

if(arr[i] <= arr[j])}}

};px();

演算法入門 氣泡排序

氣泡排序從名字上就可以看出它的特點就像水裡的氣泡一樣每乙個氣泡一步一步網上冒 一圖勝前言 冒泡的基本思想就是講兩兩相鄰的數字進行大小比較,大的數字放在後面。比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最...

排序演算法入門之氣泡排序

在開發中,對一組資料進行有序地排列是經常需要做的事情,所以掌握幾種甚至更多的排序演算法是絕對有必要的 本文章介紹的是排序演算法中較簡單的一種演算法 氣泡排序 題外話 在深入學習更多排序演算法後和在實際使用情況中,氣泡排序的使用還是極少的。它適合資料規模很小的時候,而且它的效率也比較低,但是作為入門的...

排序演算法入門之氣泡排序

在開發中,對一組資料進行有序地排列是經常需要做的事情,所以掌握幾種甚至更多的排序演算法是絕對有必要的 本文章介紹的是排序演算法中較簡單的一種演算法 氣泡排序 題外話 在深入學習更多排序演算法後和在實際使用情況中,氣泡排序的使用還是極少的。它適合資料規模很小的時候,而且它的效率也比較低,但是作為入門的...