简单排序之直接插入排序
2016-07-10 15:49
274 查看
直接插入排序思想:
直接插入排序是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。(联想扑克牌游戏)排序的稳定性:
在排序过程中相同元素的前后顺序并没有改变,则可认为此排序为稳定排序,反之为不稳定排序。直接插入排序实现(java)
搜索和数据后移二个步骤合并。即每次a[i]先和前面一个数据a[i-1]比较,如果a[i]> a[i-1]说明a[0…i]也是有序的,无须调整。否则就令j=i-1,temp=a[i]。然后一边将数据a[j]向后移动一
package simpleSorts; public class DirectlInsertSort { static void directInsetSort(int arr[]){ int i ,j; for(i=1;i<arr.length;i++){ if(arr[i]<arr[i-1]){// int temp=arr[i];//设置哨兵 for( j=i-1;arr[j]>temp;j--){ arr[j+1]=arr[j];//数据后移的操作 } arr[j+1]=temp; } } } public static void main(String[] args) { int arr[]={1,5,8,3,7,4,6,2}; System.out.println("排序前的顺序为:"); for (int i : arr) { System.out.print(+i+" "); } System.out.print("\n"); directInsetSort(arr); System.out.println("排序后的顺序为:"); for (int i : arr) { System.out.print(+i+" "); } }
相关文章推荐
- 【荐】JavaScript编码风格
- 基于Qualcomm骁龙处理器的目标跟随与导航程序源代码
- 布隆过滤器原理和例子
- Base64 编码/解码器
- 【Unity编辑器】使用反射和Attribute实现自定义右键菜单
- 分布式系统设计系列 -- 基本原理及高可用策略
- html5 语义化标签
- python学习第二天 --变量及其字符串
- MySQL 警告WARN: Establishing SSL connection without server's identity verification is not recommended.解决办法
- 最短前缀(字典树)
- 重建二叉树
- android 布局文件中xmlns:android="http://schemas.android.com/apk/res/android"
- TEA,XXTEA介绍,对称加密
- 【训练题】强连通分量缩点
- 【Python学习笔记】python高级特性:切片
- TestNG依赖测试
- Android RecyclerView的Item自定义动画及DefaultItemAnimator源码分析
- 用钩子机制实现键盘监听---键盘监听器
- 创建一个只能查看的mysql用户
- 关于正则表达式的积累