有些代码一两个月都会忘了,有空多做下总结,记录下来,等需要用到的时候可以来翻翻总结的博客。写技术博客,对自己是一种总结,对别人,是一种参考。
1.sort()方法
?
1
2
3
4
5
6
7
8
9
10
11
12
|
var ar1=[2,4,6,8,1,3]
var ar2=[2,16,36,8,56]
ar1.sort()
ar2.sort()
console.log(ar1)
console.log(ar2)
ar2.sort( function (a,b){
return a-b
})
console.log(ar2)
|
2.reverse()方法
?
1
2
3
|
var ar1=[2,4,6,8,1,3]
ar1.reverse()
console.log(ar1)
|
3.冒泡排序
?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var b=0
var a=[1,9,33,2,5,34,23,98,14]
for ( var i=0;i<a.length;i++){
for ( var j=0;j<a.length;j++){
if (a[j]>a[j+1]){
b=a[j]
a[j]=a[j+1]
a[j+1]=b
}
}
}
console.log(a)
|
4.选择排序
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
var b=0
var a=[1,9,33,2,5,34,23,98,14]
for ( var i=0;i<a.length;i++){
for ( var j=i;j<a.length;j++){
if (a[j]>a[j+1]){
b=a[j]
a[j]=a[j+1]
a[j+1]=b
}
}
}
console.log(a)
|
5.快速排序
先从数列中取出一个数作为基准数
分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边
再对左右区间重复第二步,直到各区间只有一个数
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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;
}
}
|
|