美文网首页
选择排序(辅助理解的动画)

选择排序(辅助理解的动画)

作者: Adder | 来源:发表于2020-12-26 22:37 被阅读0次

    进这里可以看到各种排序算法的动画效果

    选择排序

    可以选择最小的排到最前面,然后和剩余的元素拼接成新的数组

    var testArr = [12, 72, 34, 95, 43, 5, 24, 67, 6, 8, 79,2, 55, 33, 24, 3];
    // 获取当前最小的
    const getMin = (numbers) => {
       let min = numbers[0];
       let minIndex = 0;
       for (let i in numbers) {
         if (numbers[i] < min) {
           min = numbers[i];
           minIndex = Number(i);
         }
       }
      return {min, minIndex};
    }
    
    //排它
    const sortArr = (numArr) => {
      const theMin = getMin(numArr).min;
      const theIndex = getMin(numArr).minIndex;
    //   console.log(numArr, theMin, theIndex)
      if (numArr.length > 2) {
        numArr.splice(theIndex, 1);
        return [theMin].concat(sortArr(numArr))
      } else {
        return numArr[0] < numArr[1] ? numArr : numArr.reverse();
      }
    }
    
    console.log('排序结果:',sortArr(testArr))
    

    相关文章

      网友评论

          本文标题:选择排序(辅助理解的动画)

          本文链接:https://www.haomeiwen.com/subject/rqhnnktx.html