结合舞蹈更易理解的算法--插入排序算法[java代码]
来源:互联网 发布:h.323 端口 编辑:程序博客网 时间:2024/05/16 08:05
算法舞蹈视频:http://t.cn/hros0W
java代码实现:
/** * 插入排序 * @author hsy * */public class InsertSort{ private long[] a; private int nElems; public InsertSort( int max) { super(); this.a = new long[max]; nElems = 0; } /** * 向数组中插入数据 * @param value */ public void insert(long value){ a[nElems] = value; nElems++; } /** * 打印数组 * */ public void display(){ for(int i=0;i<nElems;i++){ System.out.print(a[i]+","); } System.out.println(""); } /** * 排序 * */ public void insertSort(){ int out; int in; for(out=1;out<nElems;out++){ long temp = a[out]; in = out; while(in>0 && a[in-1]>=temp){ a[in] = a[in-1]; --in; } a[in] = temp; } } public static void main(String[] args){ int max = 100; InsertSort arr = new InsertSort(max); arr.insert(10); arr.insert(5); arr.insert(45); arr.insert(8); arr.insert(34); arr.insert(78); arr.insert(22); arr.insert(68); arr.insert(82); arr.insert(53); arr.insert(7); arr.insert(99); arr.insert(57); arr.insert(72); arr.display(); long start = System.currentTimeMillis(); arr.insertSort(); long end = System.currentTimeMillis(); System.out.println("排序耗时:"+(end-start)); arr.display(); } }
控制台打印:
10,5,45,8,34,78,22,68,82,53,7,99,57,72,排序耗时:05,7,8,10,22,34,45,53,57,68,72,78,82,99,
- 结合舞蹈更易理解的算法--插入排序算法[java代码]
- 结合舞蹈更易理解的算法--冒泡排序算法[java代码]
- 结合舞蹈更易理解的算法--选择排序算法[java代码]
- 快速排序算法与插入排序算法的结合
- 超级有创意的舞蹈--排序算法
- 程序员的艺术:排序算法舞蹈
- 程序员的艺术:排序算法舞蹈
- 程序员的艺术:排序算法舞蹈【视频】
- [video]程序员的艺术:排序算法舞蹈
- 排序算法的舞蹈 生动形象
- JAVA排序算法实现代码-插入排序
- 插入排序算法理解
- Raft 为什么是更易理解的分布式一致性算法
- Raft 为什么是更易理解的分布式一致性算法
- Raft 为什么是更易理解的分布式一致性算法
- Raft 为什么是更易理解的分布式一致性算法
- 原创排序算法与快速排序算法时间复杂度相同,但更易理解(C++语言实现)
- 插入排序算法代码
- hibernate如何对Blob类型字段进行数据添加
- 进程的通信方式
- ACM 推荐blog汇总及OJ
- Java debug skills for Eclipse juno 4.2
- UI -- Core animation教程(共三章)
- 结合舞蹈更易理解的算法--插入排序算法[java代码]
- VMware CTO辞职 加入General Catalyst
- maven简介及安装配置
- 如何用MFC制作类似VS2005或VS2008的界面
- 旧协议需要改变时,如何保持和旧协议的兼容。
- 修改UITableView section header title的样式
- component的概念
- 在redhat6.3 安装oracle 11.2.0.1遇到的错误
- stl find_if && 仿函数重写比较