Javascript

js的排序算法

本文主要是介绍js的排序算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.冒泡排序

思路:相邻两个数进行比较,如果第一个比第二个大则交换他们的位置。

   let arr=[1,9,6,5,4,2,3];
    for(var i=0;i<arr.length;i++){
        for(var j=i+1;j<arr.length;j++){
            if(arr[i]>arr[j]){
              const temp=arr[i]
                arr[i]=arr[j]
                arr[j]=temp
            }
        }
    }
    console.log(arr)}

2.选择排序

思路:首先在原数组中查找最小值,将最小值放在最前面,接着在剩下的元素中查找,放在最小值的后面,以此类推。

    let arr=[144,15,8,12,10,11]
for(var i=0;i<arr.length;i++){
    let minIndex=i  //数组的最小值
    for(var j=i;j<arr.length;j++){ 
        if(arr[j]<arr[minIndex]){  //比较位置j的值是否比当前的最小值小,
            minIndex=j //如果是更新最小值
        }
    }
    if(i!==minIndex){ //如果最小值和原来的最小值不同,交换位置
        let temp=arr[i]
        arr[i]=arr[minIndex]
        arr[minIndex]=temp
    }
}
    console.log(arr)

3.插入排序

1)第一个数已排序

2)将待插项第二个数和第一个数比较,插入适合的位置

3)接着将待插项第三个数和前两个数进行比较,后面的将待插项元素依次和前面进行比较,找到对应的位置并插入

   let arr=[18,4,8,9,10,11,]
   let temp;
   for(var i=1;i<arr.length;i++){ //从第二个数开始
        temp=arr[i]; //临时存储
        //从前往后查找插入的位置
        for(var j=i;j>0&&arr[j-1]>temp;j--){
            arr[j]=arr[j-1] //将大于temp的arr[j]元素后移
        }
        arr[j]=temp
    }
    console.log(arr)

 

这篇关于js的排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!