氣泡排序
var arr = [23, 34, 11, 22, 19, 18];
氣泡排序的思路分析:
第1輪 第1步:[23, 34, 11, 22, 19, 18]
第1輪 第2步:[23, 11, 34, 22, 19, 18]
第1輪 第3步:[23, 11, 22, 34, 19, 18]
第1輪 第4步:[23, 11, 22, 19, 34, 18]
第1輪 第5步:[23, 11, 22, 19, 18, 34]
第2輪 第1步:[11, 23, 22, 19, 18, 34]
第2輪 第2步:[11, 22, 23, 19, 18, 34]
第2輪 第3步:[11, 22, 19, 23, 18, 34]
第2輪 第4步:[11, 22, 19, 18, 23, 34]
第3輪 第1步:[11, 22, 19, 18, 23, 34]
第3輪 第2步:[11, 19, 22, 18, 23, 34]
第3輪 第3步:[11, 19, 18, 22, 23, 34]
第4輪 第1步:[11, 19, 18, 22, 23, 34]
第4輪 第2步:[11, 18, 19, 22, 23, 34]
第5輪 第1步:[11, 18, 19, 22, 23, 34]
外層的for迴圈確定輪數
for(var i = 1; i < arr.length; i++) }}
選擇排序
選擇排序的思路分析:
第1輪 第1步:var imink = 0;
第1輪 第2步:23 和 34比較,什麼也不做
第1輪 第3步:23 和 11比較,imink = 2
第1輪 第4步:11 和 22比較,什麼也不做
第1輪 第5步:11 和 19比較,什麼也不做
第1輪 第6步:11 和 18比較,什麼也不做
第1輪 第7步:下標0和下標2進行位置交換 [11, 34, 23, 22, 19, 18]
第2輪 第1步:var imink = 1;
第2輪 第2步:34 和 23比較,imink = 2
第2輪 第3步:23 和 22比較,imink = 3
第2輪 第4步:22 和 19比較,imink = 4
第2輪 第5步:19 和 18比較,imink = 5
第2輪 第6步:下標1和下標5進行位置交換 [11, 18, 23, 22, 19, 34]
// 外層for迴圈確定輪數
for(var i = 0; i < arr.length - 1; i++)
}// 交換資料
if(imink !== i)
}插入排序
插入排序的思路分析:
第1輪 第1步:[23, 34, 11, 22, 19, 18]
第2輪 第1步:[23, 11, 34, 22, 19, 18]
第2輪 第2步:[11, 23, 34, 22, 19, 18]
第3輪 第1步:[11, 23, 22, 34, 19, 18]
第3輪 第2步:[11, 22, 23, 34, 19, 18]
第3輪 第3步:[11, 22, 23, 34, 19, 18]
第4輪 第1步:[11, 22, 23, 19, 34, 18]
第4輪 第2步:[11, 22, 19, 23, 34, 18]
第4輪 第3步:[11, 19, 22, 23, 34, 18]
第4輪 第4步:[11, 19, 22, 23, 34, 18]
第5輪 第1步:[11, 19, 22, 23, 18, 34]
第5輪 第2步:[11, 19, 22, 18, 23, 34]
第5輪 第3步:[11, 19, 18, 22, 23, 34]
第5輪 第4步:[11, 18, 19, 22, 23, 34]
第5輪 第5步:[11, 18, 19, 22, 23, 34]
// 外層迴圈確定輪數
for(var i = 1; i < arr.length; i++) else }}
快速排序
快速排序的思路分析:
第一步:base = 23 , arr = [35, 34, 11, 22, 19, 18]
第二步:left = , right =
第三步:[11, 22, 19, 18] 23 [35, 34]
第四步: 11 [22, 19, 18] 23 [34] 35
第五步: 11 [19, 18] 22 23 [34] 35
第六步:[11, 18, 19, 22, 23, 34, 35]
var arr = [23, 35, 34, 11, 22, 19, 18, 18];
function quicksort(arr)
var ibase = arr.shift();
var left = , right = ;
for(var i = 0; i < arr.length; i++) else
}return quicksort(left).concat(ibase, quicksort(right));
}var newarr = quicksort(arr);
console.log(newarr);
四大排序函式
row number over partition by clause order by filed asc desc 連續的從1開始到n的排序號 sql view plain copy rank over partition by clause order by filed asc desc 不連...
SQL四大排序函式
sql四大排序函式 1 row number 函式作用就是將select查詢到的資料進行排序,每一條資料加乙個序號 select row number over order by score desc as rank from scores select from select row number...
js 常用的四大排序
在一排數中,從前往後對相鄰的兩個輸依次比較和調整,讓較大的數往下沉,較小的數往前冒。第乙個和第二個比較,如果後面的大於前面的則換第二個和第三個比較。for var i 1 i arr.length i 在一排數中,第乙個和第二個比較,若後面的比前面小則交換下標,用最小的和後面的比較,若後面的大於前面...