插入排序算法策略:排序值列中的前2个值,并在必要时交换它们。在相对于前2个值(有序的)的适当位置插入值列的第三个值。然后,在相对于前3个值
(有序的)的适当位置插入值列的第4个值。每进行一次插入操作,有序子集中的数值个数将递增1。重复该过程,直至值列中的所有值都按照次序排列为止。插入
过程需要移动数组中的其他值,为插入的元素腾出存储空间。
算法定义 http://baike.baidu.com/view/396887.html?tp=0_11
public
class
Insertion {
public
static
void
insertionSort(Comparable []data){
for
(int
index=1;index<data.length;index++){
Comparable key = data[index];
int
position = index;
//shift larger values to the right
while
(position>0&&data[position-1].compareTo(key)>0){
data[position] = data[position-1];
position--;
}
data[position]=key;
}
}
public
static
void
main(String []args){
Comparable []c={4,9,23,1,45,27,5,2};
insertionSort(c);
for
(int
i=0;i<c.length;i++)
System.out.println("插入排序:"
+c[i]);
}
}
分享到:
相关推荐
java编写的插入排序算法
Java语言实现的直接插入排序算法,代码里头有详细注释,注释皆为简单英文,因为这个算法比较简单,欢迎新手下载学习使用,欢迎后期的学习交流!
自己写的java 插入排序算法,分享给大家,共同进步
选择排序和冒泡排序想必大家都很熟悉,但插入排序一般新手却很难理解,插入排序的Java源代码
插入排序算法java代码,望对大家有帮助
一段比较简便、易懂,且能运行的JAVA代码。运用的是插入排序法对10个数字进行排序。
针对200000长度的数组,采用插入排序和合并排序,对比两种算法的时间复杂度
使用Java实现简单的插入排序算法,提供参考思路,欢迎大家斧正。
java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡
编写选择排序,插入排序,自顶向上合并排序,合并排序,快速排序,理解各排序算法的实现原理,加深对排序算法的理解。
详解Java常用排序算法-插入排序
做了个Java Swing 图形界面,选择3中排序方法进行排序。工程用NetBeans 打开,运行Main.java文件或直接点击运行主程序,...BinSort.java(折半插入排序) QKSort.java(快速排序算法) SelectSort.java(简单选择排序)
JAVA实现插入排序,简单演示
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。
排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht
用户能够从终端选择三种排序算法中的一种,包括插入排序,堆排序,选择排序,同时被排序的数也可以通过键盘输入,不限制输入的数字的个数,运用了Java的面向对象的思想
Java各种排序算法集合: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(箱排序、基数排序)
给初学者学习算法用,用java实现的排序算法,包括二路归并和插入排序。
java实现的常用的几种基本排序算法,插入、交换、选择、归并