scala数据结构和算法-05-插入排序实现

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

import scala.collection.mutable.ListBuffer

object InsertSort {
  def insertSort[T<%Ordered[T]](source:ListBuffer[T]):ListBuffer[T]={
    for(i<-1 until source.length){
      for(j<-(1 to i).reverse){
        val current=source(j);
        val prev=source(j-1);
        if(current<prev){
          source(j-1)=current;
          source(j)=prev;
        }
      }
    }
    source
  }
  def main(args: Array[String]): Unit = {
    val source=ListBuffer(3,5,4,9,1,8,7,6);
    println(insertSort(source).mkString(","))
  }
}

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

数据结构与算法——插入排序(Java实现)

/**  * 插入排序的思想好比对手中的扑克牌排序;  * 好比左手为空,桌面牌面朝下,我们每次拿  * 起一张桌面的牌,将其插入左手正确的位置,  * 在插入过程中,将被插入的牌按某一顺序逐个  *...

数据结构与算法:C++实现插入排序

插入排序 分为:直接插入排序和希尔排序 直接插入排序           将元素插入有序数组中,与选择排序不同,插入排序的时间取决于数组中元素的初始顺序#include using namespac...

一步步学习数据结构和算法之折半插入排序效率分析及java实现

折半插入排序效率分析及java实现: public class BinaryInsertSort { /** * 折半排序原理:在将一个新元素插入到一个已经排好的序列中时,采用折半的方式找到元...

数据结构算法之排序系列Java、C源码实现(1)--直接插入排序

使用插入排序,对于具有n个记录的文件,要进行n-1趟排序,是稳定的插入排序。 直接插入排序:从未排序的序列中依次取出一个元素与已排序列中的元素进行比较,然后将其放在已排序序列的合适位置上。 ...

【数据结构与算法】【排序】直接插入排序的代码实现

简单选择排序是一种插入排序。 前提:数组元素a[0]用作哨兵或临时变量,a[1]~a[n]存放n个待排序的元素。 基本思想是:从a[2]开始,将元素插入到前面已经排好序的有序表中,从而得到一个新的...
  • jay_yin
  • jay_yin
  • 2014年10月31日 20:11
  • 418

数据结构与算法分析笔记与总结(java实现)--排序3:插入排序练习题

数据结构与算法分析笔记与总结(java实现)--排序3:插入排序练习题

利用java实现数据结构中常用的插入排序和快速排序算法

源程序: Data.java package Sort; class Data {   Comparable key;   Object value;   public Data() { ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:scala数据结构和算法-05-插入排序实现
举报原因:
原因补充:

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