冒泡:
// 數組的排序:
// sort()
// 冒泡排序:兩兩比較,大的放後面
// 0-1,1-2,2-3,3-4 0~length-1-0
// 0-1,1-2,2-3 0~length-1-1
// 0-1,1-2 0~length-1-2
// 0-1 0~length-1-3
var arr = [45,3,78,2,9]; //制定數組
function bubble(a){
for(var i=0;i<a.length-1;i++){ //周遊數組
var s;
for(var j=0;j<a.length-i-1;j++){ //需要比較的次數
if(a[j]>a[j+1]){
s=a[j+1]
a[j+1]=a[j];
a[j]=s
}
}
}
return a;
}
console.log(bubble(arr))
選擇:
1 // 選擇排序:取第一位和後面所有做比較,拿到最小的,放在第一位
2 // 1.确定執行次數,和比較方式
3 // length-1
4 // 0-1,0-2,0-3,0-4 0~length-1
5 // 1-2,1-3,1-4 1~length-1
6 // 2-3,2-4 2~length-1
7 // 3-4 3~length-1
8 var arr = [45,3,78,2,9];//制定一個數組
9 for(var i=0;i<arr.length;i++){ //周遊所有數組
10 var min=arr[i]; //假定最小值為a[i]
11 var minIndex=i; //最小值的索引是i
12 for(var j=i+1;j<arr.length;j++){ //每行需要排序的次數 。
13 if(min>arr[j]){ //假定的最小值逐個相比
14 min=arr[j]; //真實的最小值 。相當于a[i]與a[i+1]比
15 minIndex=j; //真實的最小值索引
16 }
17 }
18 arr[minIndex]=arr[i] //因為要發生交換,将假定的最小值放到真實的最小值位置。//之是以要放在循環外面,是要等一個都比完了。
19 arr[i]=min; //真實的最小值放到假定的最小值位置,i也是從頭開始的是以最小的肯定在最前面
20 //上面兩行代碼表示兩個數字位置發生了交換
21 }
22