java简单排序学习之插入排序
来源:互联网 发布:javaweb角色权限源码 编辑:程序博客网 时间:2024/05/16 10:01
插入排序也是一个很重要的东西,我们通过现在我们想要插入的数和前面的比较,如果没有到最前面,或者当前的数一直大于或者一直小于(这取决于降序还是升序),那么我们就一直移动,如果找到了不符合条件的,那么就将我们需要的数插入到该下标的后一位。当然我们需要插入的数是需要提前保存的,当然,这里你可能还有点不清楚,当你看我的代码和每一步的注释应该就懂了。
package www.jk.sort;/** * * @author jk * 这段代码是实现插入排序,感觉以前总是理解不了,今天看了一下感觉也是蛮简单的啊,因为第一个数一直就在的,所以就从第二个数开始,然后找到大于或者小于它的数 * ,因为找到的数刚好是大于或者是小于它的,那么插入的位置就应该在它的后面的那位,所以就这样就完成插排序了啊, * */public class test {public static void main(String[] args) {int[] a = { 1, 8, 3, 5, 6, 2, 9 };insertSort(a);for (int i = 0; i < a.length; i++) {System.out.println(a[i]);}}public static void insertSort(int[] a) {// 第一层循环,我们需要启动while循环的数目,因为是插入,所以是从第二个开始的// firt loop,the time of while we need to launchfor (int i = 1; i < a.length; i++) {// 记录当前想要插入的数// record the current numberint t = a[i];// 当前想要插入的数的下标// record the index that we want to insertint j = i - 1;// 如果数组没有到最开始,或者是t一直大于a[j]的话,就一直移动// if the array is not in the beginning,and t>a[j],continue movewhile (j >= 0 && t > a[j]) {a[j + 1] = a[j];j--;}// 因为我们最后找到的是刚好大于目前的这个数,所以我们需要插入在它的后面// insert the numbera[j + 1] = t;}}}
0 0
- java简单排序学习之插入排序
- Java排序算法之简单插入排序
- [Java数据结构]简单排序之插入排序
- Java简单算法之 冒泡排序 选择排序 插入排序
- java简单排序-插入排序
- java简单插入排序
- 排序学习之插入排序
- Java排序之插入排序
- Java 排序之 插入排序
- Java排序之插入排序
- java排序之插入排序
- Java排序之插入排序
- Java 排序之 插入排序
- 排序之插入排序(java)
- java 排序之插入排序
- 排序算法之简单插入法排序(Java)
- Java的简单应用之插入排序和shell排序
- Java基础篇之----排序(快速排序、冒泡排序、堆排序、简单选择排序、 希尔排序、直接插入排序)
- 使用Symantec代码签名证书对代码进行签名的 5 个理由
- Magento SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_pack
- 设计模式读书笔记之原型模式(Prototype)
- 先验概率、后验概率、最大似然估计(MLE)
- xUtils简介及其使用方法
- java简单排序学习之插入排序
- html5中的列表标签
- 设计模式读书笔记之抽象工厂模式(Abstract Factory)
- 关于c#sql中返回的dt问题探究
- 贝叶斯估计和最大后验估计
- SVN三种合并类型
- HTML5的command元素
- singleton
- Web App变革之rem(转自520UED)