算法(1)--插入排序
2016-04-29 09:35
204 查看
第一个算法:插入排序
测试案例:
伪代码:
源码:
该算法对n个数据项进行排序的时间大约:c1 n²
适用于小规模输入,如果输入规模n变得足够大,则合并排序将占据大优势。
测试案例:
伪代码:
INSERTION-SORT(A) for j ← 2 to length[A] do key ← A[j] i ← j - 1 while i>0 && A[i]>key do A[i+1] ← A[i] i ← i - 1 A[i+1] ← key
源码:
int a[] = {8,6,2,3,1,421,15,6,11,22}; int key,i; for (int j = 1; j < a.length; j++) { key = a[j]; //保存当前索引位置的值 i = j-1; //将索引前移 //判断当前索引是否到头和当前索引位置的值是否大于key值 while(i>-1&&a[i]>key){ //如果大于则将当前值后移 a[i+1] = a[i]; // ①索引继续前移 i--; } //与①操作呼应,索引后移,保证索引位置数据正确性 a[i+1] = key; } for (int j = 0; j < a.length; j++) { System.out.println(a[j]); }
该算法对n个数据项进行排序的时间大约:c1 n²
适用于小规模输入,如果输入规模n变得足够大,则合并排序将占据大优势。
相关文章推荐
- 建立一棵二叉树
- luci之how to write modules
- CocosPod常见错误
- 剑指offer(51):不用加减乘除做加法
- J2EE如何生成验证码图片和点击刷新验证码
- PHP语言 -- 注册审核
- 一个Activity掌握Android5.0新控件
- 应用程序指定IE版本
- 《大悲咒》白话解释
- 第五次就业指导作业
- unity编译时自动结束项目运行
- Mac 安装homebrew
- JS
- [剑指offer]二叉搜索树与双向链表
- Dubbo与Zookeeper SpringMVC整合和使用(负载均衡 容错)
- SDL播放wav格式的音乐
- salesforce 零基础学习(二十一)workflow Q&A
- 四种比较简单的图像显著性区域特征提取方法原理及实现
- spring 解决多数据源问题,主要的继承类为AbstractRoutingDataSource
- 监听android home键后台运行