【排序算法】插入排序
2015-08-28 09:36
267 查看
插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。
结果是:
package sort.algorithm.insert; public class Insert { // 处理的方法是:每次获得一个元素,构建另一个有序列表。使用一个数组就足够了, // 如果有十个位置,一个列表可以保存在数组的头部,而另一个列表可以保存在数组 // 的尾部。 // 插入排序的最坏情况是O(n^2) public static void insertSort(int[] a) { for (int i = 1; i < a.length; i++) { int temp = a[i]; int j = i-1; while (j > -1 && a[j]>temp) { a[j+1] = a[j]; j--; } a[j+1] = temp; } } public static void insertSort(int[] data, int first, int n) { int i,j; int temp; for (i = 0; i < n; i++) { temp = data[i+first]; for (j = first + i; j > first; j--) { if (temp > data[j-1]) { break; } else { data[j] = data[j-1]; } } data[j] = temp; } } public static void main(String[] args) { int data[] = {0, 30, 60, 50, 40, 70, 20, 10, 5, 80}; // insertSort(data,0,10); insertSort(data); for (int i = 0; i < data.length; i++) { System.out.print(data[i] + ","); } } }
结果是:
0,5,10,20,30,40,50,60,70,80,
相关文章推荐
- C# Winform简单绘图 (在直角坐标系中画折线)
- 日经春秋 20150828
- 地理编码(根据地址得出位置并且加上自定义的大头针)
- JAVA环境变量配置备忘
- 安卓解析 json 4种格式 全解析
- 初学Oracle UNPIVOT,PIVOT,WMSYS.WM_CONCAT三个函数
- spark官方文档翻译收藏
- iPhone开发之UIScrollView滚动组件的使用(三) 拖线实现按钮控制大图移动之contentInsets增加内容边距
- POJ 2578 && HDU 1037 Keep on Truckin'(水~)
- 天声人語 20150828
- 【SCOI2005】【BZOJ1087】互不侵犯King
- 【来日复制粘贴】状态栏随机显示
- java网页错误
- 关于iis7短日期后面带有星期的解决办法
- 扫盲知识点
- 代码规范
- 【排序算法】选择排序
- select 实现分析 –2 【整理】
- POJ 2575 Jolly Jumpers(水~)
- poj 2031(prim)