一、二分查找
二、归并排序
三、冒泡排序
四、希尔排序--距离比照--固定距离和动静距离
functtion shellSort(arr){ let len=arr.length; let gap=Math.floor(len/2); while(gap!=0){ for(var i=gap;i<len;i++){ var temp=arr[i],j for(j=i-gap;j>=0&&temp<arr[j];j-=gap){ arr[j+gap]=arr[j] } arr[j+gap]=temp } gap=Math.floor(gap/2) } return arr}动静距离版function shellSort(arr){ var len=arr.length,temp,gap=1; while(gap<len/3){gap=gap*3+1} while(gap!=0){ console.log('gap值',gap) for(var i=gap;i<len;i++){ console.log('第一层循环',i) temp=arr[i] for(var j=i-gap;j>=0&&arr[j]>temp;j-=gap){ console.log('第二层循环',j,arr[j],temp) arr[j+gap]=arr[j] } arr[j+gap]=temp console.log('第二层循环结束',arr) } gap=Math.floor(gap/3) console.log('第一层循环结束arr',arr,gap) } return arr}
五、插入排序--距离为1的希尔排序--图https://www.cnblogs.com/cc-freiheit/p/10983395.html
function insertSort(arr){ let len=arr.length for(var i=1;i<len;i++){ var temp=arr[i] for(var j=i-1;j>=0&&arr[j]>temp;j-=1){ arr[j+1]=arr[j] } arr[j+1]=temp } return arr}