zoukankan      html  css  js  c++  java
  • 插入排序

    function selectkSort (arr) {
      if (arr.length === 0) {
        return [];
      }
      for (let i = 0; i < arr.length; i++) { 
        let min = arr[i]; // 将当前位置的元素定义此轮循环当中的最小值
        for (let j = i + 1; j < arr.length; j++) {
          if (arr[j] < min) {
            [arr[j], min] = [min, arr[j]];
          }
        }
        arr[i] = min;
      }
      return arr;
    }
    
    const arr = [2, 3, 43, 5, 1, 7, 6, 3, 22, -1];
    console.log('排序之前', arr.join(', '));
    const res = selectkSort(arr);
    console.log('排序之后', res.join(', '));
    

      

    排序之前 2, 3, 43, 5, 1, 7, 6, 3, 22, -1
    排序之后 -1, 1, 2, 3, 3, 5, 6, 7, 22, 43

    选择排序的基本思想就是从待排序列中选择出最小的,然后将被选出元素和序列的第一个元素互换位置(当前默认是升序排列),则互换完成后第一个元素就是整个序列的最小的元素,则一次选择排序结束。然后我们从剩下的子序列中选择出最小的,然后将该被选出来的元素和该子序列的第一个元素(即整个序列的第二个元素)互换位置,则当前整个序列的第二个元素就是当前序列中的次最小值,第二次选择排序结束。以此类推,直到该待排序列只剩下一个元素后,则整个序列有序。

  • 相关阅读:
    分页SQL取下一页
    取第10行到100行
    Flash Builder4.0新建Flex应用程序切换主题出错
    C++浮点数(float、double)类型数据比较、转换分析总结
    浮点数的大小比较
    052新题1
    一致读原理
    Redis配置文件解读
    Redis系列-远程连接redis并给redis加锁
    svn提交更新原则
  • 原文地址:https://www.cnblogs.com/xiaosongJiang/p/11042132.html
Copyright © 2011-2022 走看看