1、冒泡排序
普通写法:
var arr = [1,5,7,3,-5,7,9];
//7个数 比较6轮
// 第0轮 6
// 1 5
// 2 4
// 3 3
// 4 2
// 5 1
for(var i= 0;i < arr.length-1;i++){ //外层循环控制轮数 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);
这种排序方式就是一个拿出来一个最大值或最小值,然后剩下的再去比较。所以称之为冒泡排序
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;
}
选择排序是把每一个数都和第一个数作比较,如果比第一个数小就互换位置。重复n-1轮就实现了选择排序
网友评论