scala数据结构与算法-06-选择排序

原创 2017年01月03日 14:17:50
package data

import scala.collection.mutable.ListBuffer

object SelectSort {
  def selectSort[T](comparator:(T,T)=>Boolean)(source:ListBuffer[T]):ListBuffer[T]={
    for(i<-0 until source.length){
      var min=source(i)
      var index=i;
      for(j<-i+1 until source.length){
        if(comparator(min,source(j))){
          min=source(j)
          index=j
        }
      }
      source(index)=source(i)
      source(i)=min
    }
    source
  }
  def main(args: Array[String]): Unit = {
    val source=ListBuffer(1,4,3,9,2,8,7,5,6)
    println(selectSort[Int](_>_)(source).mkString(","));
  }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【数据结构与算法 02】选择排序

算法思想: 遍历数组array[N],索引为 i,然后算出[i+1,N-1]区间中的最小数,与array[i]交换,最后一个数因为只有一个,所以不用比较外循环为 N-2次 import java...

【数据结构与算法】——选择排序

选择排序分为:简单选择排序和堆排序 简单选择排序,基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推...

数据结构(选择排序算法)

选择排序的基本方法是:每步从待排序的元素中选出关键字最小的元素,顺序放在已排序的元素序列的最后,直到全部排完为止。这里介绍两种选择排序,1:简单选择排序,2:堆排序。 简单选择排序:每次从无序区中选择...

[数据结构和算法]选择排序

选择排序 1概述 2图解 3java代码

数据结构与算法简记:选择排序

最近把数据结构与算法方面的书又温习了一遍,觉得有必要在这里做个备忘记录,以后就算是生疏了,也可以很方便查阅。 今天就来简明扼要地总结一下选择排序的要点,拿n个元素的数组升序排列举例: 先以数组第...

数据结构与算法javascript描述(五) 选择排序

选择排序从数组的开头开始, 将第一个元素和其他元素进行比较。 检查完所有元素后, 最小的元素会被放到数组的第一个位置, 然后算法会从第二个位置继续。 这个过程一直进行, 当进行到数组的倒数第二个位置时...

一步步学习数据结构和算法之选择排序效率分析及java实现

选择排序算法效率分析及实现: public class SelectSort { /** * 选择排序原理:从待排序序列中选出最小的元素,放入到已排好序列 * 元素比较次数:需要比较的次数为...

数据结构与算法---选择排序

选择排序 思想:每一次从待排序的数据元素中选出最小的或者最大的,直到全部待排序的元素排序完成。待排序的元素:int[] arr = {6,5,4,3,2,1};运行截图: 步骤:每一趟我们找出来的最...

Java数据结构和算法-简单排序(2-选择排序)

选择排序改进了冒泡排序,将其必要的交换时间由O(N^2)减小为O(N),虽然在比较效率上两者没有太大差别,但是对于大记录量的排序需要在内存中移动来说,这就使得移动的时间和比较的时间相比要重要很多。选择...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)