package com.atguigu.sort
import com.atguigu.sort.SelectSort.selectSort
import scala.util.Random
/**
* @author wade
* @create 2019-04-07 23:09
*/
object InsertSorrt {
def main(args: Array[String]): Unit = {
// val ints = Array(5,3,7,8,1,4,2)
// insertSort(ints)
// println(ints.mkString(" "))
val arr = new Array[Int](800000)
val random = new Random()
for(i <- 0 until arr.length){
arr(i) = random.nextInt(800000)
}
println("=====排序开始=====")
val start: Long = System.currentTimeMillis()
insertSort(arr)
val end: Long = System.currentTimeMillis()
println("共耗时毫秒"+(end - start))
}
def insertSort(arr: Array[Int]): Unit ={
/**
* 数组左边是有序的 右边是无序的
* 下标为i的值要插入到 0->i-1 的有序数组中
*/
for( i <- 1 until arr.length){
var insertIndex =i-1
var insertValue = arr(i)
//下面这个循环指挥
while (insertIndex>=0 && insertValue < arr(insertIndex)){
arr(insertIndex+1) = arr(insertIndex)
insertIndex -=1
}
arr(insertIndex+1) = insertValue
}
}
}