js的氣泡排序和選擇排序

2021-10-03 11:22:34 字數 1200 閱讀 3737

概念

依次對陣列中相鄰數字進行比較(兩兩比較),大的放後面

學前準備

思考1 : i < arr.length 是遍歷幾次 i < arr.length-1 是遍歷幾次

思考2 : 交換兩個變數

思考3 :陣列中的最大值放到最後 var arr = [5, 4, 3, 2, 1];

氣泡排序演算法

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

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。

在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

**實現

var arr = [5,99,2,9,1,5,67,7,10,23];    //定義乙個雜亂的陣列

for(var i=0;iarr[j+1])} }

console.log(arr); //完成迴圈之後,初始陣列的順序已經發生改變

演算法原理

將第一位依次與後面的元素相比較,得到最小值,與第一位交換。再用第二位依次與後面元素相比較,得到最小值,與第二位交換。

從原始資料中找到最小元素,並放在陣列的最前面。然後再從下面的元素中找到最小元素,放在之前最小元素的後面,直到排序完成

var arr = [5,99,2,9,1,5,67,7,10,23];     //定義乙個雜亂的陣列

for(var i=0;iarr[j])

}arr[minindex] = arr[i];//將當前元素放在最小值的位置

arr[i] = min;//將最小值放在當前元素的位置

}console.log(arr);//輸入排序好的陣列

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 demo 執行 選擇排序 氣泡排序原理圖 demo 執行 說明 include include using namespace std name 氣泡排序法 number 傳入陣列 length 陣列長度 setw 需要匯入 include ps 這是乙個lib.h的...

選擇排序和氣泡排序

選擇排序和氣泡排序 演算法 蠻力法選擇排序,第一次掃瞄整個陣列,找到最小元素,然後和第乙個元素交換。第二次從第二個元素開始掃瞄陣列,找到剩下的元素中最小的與第二個元素交換位置,直到最後。89 45 68 90 29 3417 17 45 68 902934 89 17 29 68 90 453489...

選擇排序和氣泡排序

選擇 從小到大排序 int a 5 a 0 a 1 a 2 a 3 a 4 5 4 3 2 1 1 5 4 3 2 第一輪比較 拿a 0 和後面的元素依次比較 如果a 0 a i 那麼兩個數交換 1 2 5 4 3 第二輪比較,拿a 1 和後面的元素依次比較,如果a 1 a i 那麼兩個數交換 1 ...