1、冒泡排序
普通寫法:
var arr = [1,5,7,3,-5,7,9];
//7個(gè)數(shù) 比較6輪
// 第0輪 6
// 1 5
// 2 4
// 3 3
// 4 2
// 5 1
for(var i= 0;i < arr.length-1;i++){ //外層循環(huán)控制輪數(shù) 6
for(var j = 0;j<arr.length-1-i;j++){
if(arr[j]<arr[j+1]){
var temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
console.log(arr[j],'========',j);
}
console.log(arr[0]);//9
利用prototype寫法:
Array.prototype.arrSort = function(){
for(var i = 0;i<this.length-1;i++){
for(var j = 0;j<this.length-i-1;j++){
if(this[j]>this[j+1]){
var temp;
temp = this[j+1];
this[j+1] = this[j];
this[j] = temp;
}
}
}
return this;
}
var arr = new Array(1,35,4,121,6,14,8,58);
arr.arrSort()
console.log(arr);
這種排序方式就是一個(gè)拿出來(lái)一個(gè)最大值或最小值求冷,然后剩下的再去比較瘤运。所以稱之為冒泡排序
2、選擇排序
function selectSort(arr) {
var len = arr.length;
var temp;
for (var i = 0; i < len - 1; i++) {
for (var j = i + 1; j < len; j++) {
if (arr[j] < arr[i]) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
i++;
}
return arr;
}
選擇排序是把每一個(gè)數(shù)都和第一個(gè)數(shù)作比較匠题,如果比第一個(gè)數(shù)小就互換位置拯坟。重復(fù)n-1輪就實(shí)現(xiàn)了選擇排序