冒泡与选择

1、冒泡

<script>
  var arr = [9,3,6,2,4,1,8,5,7]
  console.log(arr)
  for(var j=0;j<arr.length-1;j++){ //j控制比较多少轮
    for(var i=0;i<arr.length-1-j;i++){ //i控制一轮比较多少次
      if(arr[i]>arr[i+1]){
        var temp = arr[i]
        arr[i] = arr[i+1]
        arr[i+1] = temp
      }
    }
  }
  console.log(arr)
</script>

2、选择

<script>
  var arr = [9,3,6,2,4,1,8,5,7]
  console.log(arr)
  for(var j=0;j<arr.length-1;j++){ //j控制比较多少轮
    var minIndex = j //假设最小的数字索引是j
    for(var i=j+1;i<arr.length;i++){ //i控制一轮比较多少次,第n轮i比较少n-1次
      if(arr[i]<arr[minIndex]){
        minIndex = i
      }
    }
    var temp = arr[j]
    arr[j] = arr[minIndex]
    arr[minIndex] = temp
  }
  console.log(arr)
</script>

上一篇:Invalid bound statement (not found)


下一篇:116. 填充每个节点的下一个右侧节点指针