冒泡排序:元素和该元素后面的元素挨个比较,大的往后放。
代码如下:
function sort(arr){
for(let i=0;i<arr.length-1;i++){
for(let j=0;j<arr.length-(i+1);j++){
if(arr[j]>arr[j+1]){
let temp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=temp
}
}
}
return arr;
}
二分法查找:取一个中间大小的和左边,右边分别比较。如果巧好等于要查找的值,直接返回,否则如果小于中间值,就在左边的查找,大于中间值在右边查找。依次做循环这个过程。直到找到为止。
代码如下:
function binarySearch(arr,key){
let h=arr.length-1
let l=0
while(l<=h){
let m=Math.floor((h+1)/2)
if(key===arr[m]){
return m;
}else if(key>arr[m]){
return l=m+1
}else if(key<arr[m]){
return h=m-1
}
}
return false
}