排序算法———直接插入排序
来源:互联网 发布:informix怎么看端口号 编辑:程序博客网 时间:2024/05/16 14:53
直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的数值。内层循环为待比较数值确定其最终位置。直接插入排序是将待比较的数值与它的前一个数值进行比较,所以外层循环是从第二个数值开始的。当前一数值比待比较数值大的情况下继续循环比较,直到找到比待比较数值小的并将待比较数值置入其后一位置,结束该次循环。
插入排序的基本方法是:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。
out函数用于输出排序,为了更加清楚的了解排序的过程,每完成一次排序输出一次
package insert;public class InsertSort {public static void main(String[] args) {int a[] = { 43, 25, 28,7,9};insert(a);}/** * @param array * @throws ArrayIndexOutOfBoundsException */private static void insert(int array[]) throws ArrayIndexOutOfBoundsException{int lable;for (int i = 1; i < array.length; i++) {int j = i - 1;lable = array[i];// 设置哨兵,哨兵存储将要排序的值while ( j >= 0 &&lable < array[j]) {array[j + 1] = array[j];j--;}array[j + 1] = lable;out(array, i);}}private static void out(int[] array, int i) {System.out.print("第"+i+"次排序为:");for (int l = 0; l < array.length; l++) {System.out.print(array[l] + " ");}System.out.println();}}
输出结果
第1次排序为:25 43 28 7 9
第2次排序为:25 28 43 7 9
第3次排序为:7 25 28 43 9
第4次排序为:7 9 25 28 43
0 0
- 算法—直接插入排序
- 排序算法——直接插入排序
- 排序算法——直接插入排序
- 排序算法——直接插入排序
- 排序算法—插入排序之直接插入排序
- 排序算法——插入排序(直接插入排序、折半插入排序、希尔排序)
- 插入排序算法 —— 直接插入排序
- 算法之插入排序——直接插入排序
- 基础算法——直接插入排序
- 插入排序—直接插入
- 插入排序——直接插入排序
- 插入排序——直接插入排序
- 插入排序——直接插入排序
- 插入排序——直接插入排序
- 插入排序——直接插入排序
- 插入排序—直接插入排序
- 排序算法———直接插入排序
- 排序算法———直接插入排序二
- NSData 同步请求网络数据
- 使用绝对路径和相对路径访问
- RasEnumDevices
- 关于android6.0动态获取权限的那点事
- 菜鸟网络工程师的成长笔记——第5天(2016.08.22)
- 排序算法———直接插入排序
- python getopt的使用
- cocos性能优化
- TableViewCell_Style
- iOS-不使用https
- PL/SQL ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- 图解css3之线性渐变
- 浙江大学乙级PAT测试1004
- 【转】微观SOA:服务设计原则及其实践方式(上篇)