最基本的題目:乙個陣列,未知長度,按從小到大的順序進行排列;現在用基本的氣泡排序方法進行排序!
一種思路是先把大的往後排,陣列呈逐步減少的狀態,排序的過程為:
i=0時,j=0,j<5,j++ 8
3 6 1 -2 3
86 1 -2
3 681 -2
3 6 18-2
3 6 1 -28
i=1時,j=0,j<4,j++
3 6 1 -28
361 -28
3 16-28
3 1 -26
8i=2時,j=0,j<3,j++
31 -26 8
13-26 8
1 -23
6 8i=3時,j=0,j<2,j++
1-23
6 8-21
3 6 8
i=4時,j=0,j<1,j++
-213 6 8
-213 6 8
具體的實現**是:
var arr = [8,3,6,1,-2]; var temp; var count=0; for(var i=0; i另外一種思路是把小的元素往前排,再比較的時候就比較剩下的元素就可以了,i=0先把-2給換到最前邊,i=1把1網簽拽,陣列就剩下8 3 6了 ,陣列就越來越小了!
var arr = [8,3,6,1,-2]; var temp; var count=0; for(var i=0; i= i; j--) //alert("i:"+i+"j:"+j); } } document.write(arr); document.write("總共迴圈了"+count);//9當然這兩種思路都是冒泡法,5個不重複的元素,迴圈了9次
氣泡排序的JavaScript實現
氣泡排序是排序演算法中最基礎的一種排序。其基本思路是 將相鄰的兩個元素進行比較,順序相反則進行交換。每次遍歷將最大值或者最小值 浮 到序列最右端或者左端。js 實現 var bubblesort function arr if flag return arr 程式中flag用來標記該序列是否已經為有...
簡明演算法 氣泡排序 javascript描述
懶惰了很久,人有點生鏽,所以寫個演算法系列讓自己腦筋活躍起來。所有範例一律從小到大排序 氣泡排序 給定陣列 var list 54,26,93,17,77,31,44,88,55,20 演算法描述 將第乙個元素與第二個元素對比,此時第乙個元素比第二個元素大,交換他們,這樣較大的元素就位於第二個位置了...
氣泡排序 排序 氣泡排序
既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...