scala 排序算法 简单选择算法

package com.xing.hai

/**
  * Created by xxxxx on 2/22/2017.
  * 简单选择排序
  * 核心逻辑
  * 在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
  * 然后在剩下的数当中再找最小的与第二个位置的数交换,
  * 如此循环到倒数第二个数和最后一个数比较为止。
  */
object OrderSelectSort extends App{

  val sortArray = Array(49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51,43)

  for(i<- 0 until sortArray.length){

    var j = i +1
    var tempValue = sortArray(i)
    //var position = 0
    var position =  i
    while(j< sortArray.length){
      if(sortArray(j)< tempValue) {
        tempValue = sortArray(j)
        position = j
      }
      j +=1
    }
    sortArray(position) = sortArray(i)
    sortArray(i) =tempValue

  }
  sortArray.foreach( x => print( " " + x ))
}

你可能感兴趣的:(scala)