有些代码一两个月都会忘了,有空多做下总结,记录下来,等需要用到的时候可以来翻翻总结的博客。写技术博客,对自己是一种总结,对别人,是一种参考。1.sort()方法
1.sort()方法
var ar1=[2,4,6,8,1,3]
var ar2=[2,16,36,8,56]
ar1.sort()
ar2.sort()//这个方法值只能排序第一位数 也可以字符串进行排序
console.log(ar1)//[1,2,3,4,6,8]
console.log(ar2)//[16, 2, 36, 56, 8]

ar2.sort(function(a,b){

return a-b //a-b为升序

//return b-a //b-a为降序
})
console.log(ar2)//[2, 8, 16, 36, 56]
var ar1=[2,4,6,8,1,3]
var ar2=[2,16,36,8,56]
ar1.sort()
ar2.sort()//这个方法值只能排序第一位数 也可以字符串进行排序
console.log(ar1)//[1,2,3,4,6,8]
console.log(ar2)//[16, 2, 36, 56, 8]

ar2.sort(function(a,b){

return a-b //a-b为升序

//return b-a //b-a为降序
})
console.log(ar2)//[2, 8, 16, 36, 56]2.reverse()方法
2.reverse()方法

var ar1=[2,4,6,8,1,3]
ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序
console.log(ar1)//[3, 1, 8, 6, 4, 2]
var ar1=[2,4,6,8,1,3]
ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序
console.log(ar1)//[3, 1, 8, 6, 4, 2]3.冒泡排序
3.冒泡排序

//每轮依次比较相邻两个数的大小,后面比前面小则交换
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i
for(var j=0;j
if(a[j]>a[j+1]){

b=a[j]

a[j]=a[j+1]

a[j+1]=b

}

}
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]
//每轮依次比较相邻两个数的大小,后面比前面小则交换
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i
for(var j=0;j
if(a[j]>a[j+1]){

b=a[j]

a[j]=a[j+1]

a[j+1]=b

}

}
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]4.选择排序
4.选择排序

//拿第一个数与后面数相比较,如果比后面的数大则交换
//拿第二个数与后面的数比较,如果比后面的数大则交换
//直到比较到倒数第二个数,最后一个数不用比较
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i
for(var j=i;j
if(a[j]>a[j+1]){

b=a[j]

a[j]=a[j+1]

a[j+1]=b

}

}
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]
//拿第一个数与后面数相比较,如果比后面的数大则交换
//拿第二个数与后面的数比较,如果比后面的数大则交换
//直到比较到倒数第二个数,最后一个数不用比较
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i
for(var j=i;j
if(a[j]>a[j+1]){

b=a[j]

a[j]=a[j+1]

a[j+1]=b

}

}
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]5.快速排序
5.快速排序先从数列中取出一个数作为基准数分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边再对左右区间重复第二步,直到各区间只有一个数
function quickSort(arr, i, j) {
if(i < j) {

let left = i;

let right = j;

let mid = Math.floor((left+right)/2);

let temp = arr[left];

arr[left] = arr[mid];

arr[mid] = temp;

let pivot = arr[left];

while(i < j) {

while(arr[j] >= pivot && i < j) { // 从后往前找比基准小的数

j--;

}

if(i < j) {

arr[i++] = arr[j];

}

while(arr[i] <= pivot && i < j) { // 从前往后找比基准大的数

i++;

}

if(i < j) {

arr[j--] = arr[i];

}

}

arr[i] = pivot;

quickSort(arr, left, i-1);

quickSort(arr, i+1, right);

return arr;
}
}
function quickSort(arr, i, j) {
if(i < j) {

let left = i;

let right = j;

let mid = Math.floor((left+right)/2);

let temp = arr[left];

arr[left] = arr[mid];

arr[mid] = temp;

let pivot = arr[left];

while(i < j) {

while(arr[j] >= pivot && i < j) { // 从后往前找比基准小的数

j--;

}

if(i < j) {

arr[i++] = arr[j];

}

while(arr[i] <= pivot && i < j) { // 从前往后找比基准大的数

i++;

}

if(i < j) {

arr[j--] = arr[i];

}

}

arr[i] = pivot;

quickSort(arr, left, i-1);

quickSort(arr, i+1, right);

return arr;
}
}以上就是本文的全部内容,希望对大家的学习有所帮助。