算法思想:

插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕

下图演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。

代码实现:

public class InsertOrder {

    public void insertOrder(int a[], int len)
{
int i,j,temp;
for (i=1; i<len; i++)
{
temp = a[i];
for (j=i-1; j>=0; j--)
{
if (temp > a[j])
break;
a[j+1] = a[j];
}
a[j+1] = temp; for(int n:a){
System.out.print("..."+n);
}
System.out.println("");
}
} public static void main(String[] args) {
int[] b={5,4,8,3,7,2,1,9,0,6};
InsertOrder t = new InsertOrder();
t.insertOrder(b,b.length);
for(int n:b){
System.out.print("..." + n);
}
} }

插入排序(JAVA实现)的更多相关文章

  1. 基本排序算法——插入排序java实现

    插入排序过程: 在初始状态下,第一个元素是排序的,在最终状态下,作为一组数据时排序的. 代码如下;eclipse4.3实现 package sort.basic; import java.util.A ...

  2. 插入排序-java

    排序-插入排序 基本思想:将待排序表看作左右两部分,其中左边为有序区,右边为无序区, 整个排序过程就是将右边无序区中的元素逐个插入到左边的有序区中,以构成新的有序区. 平均时间:O(n2) 最好情况: ...

  3. 插入排序Java版

    package dataStructureAlgorithmReview.day01; import java.util.Arrays; /** * 插入排序 * @author shundong * ...

  4. 排序算法之直接插入排序Java实现

    排序算法之直接插入排序 舞蹈演示排序: 冒泡排序: http://t.cn/hrf58M 希尔排序:http://t.cn/hrosvb  选择排序:http://t.cn/hros6e  插入排序: ...

  5. 插入排序java代码

    /** * 插入排序 * * 原理:从数组中取出一个值插入到一个左边已经排好序的数组片段中 * * @param a * @return */ public long[] InsertSort(lon ...

  6. 插入排序java

    插入排序简述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据.   第一个元素是有序队列,从第二个元素开始向有序队列中插入,插入完成后将第三个元素向 ...

  7. 直接插入排序---java实现

    思路:遍历无序的原数组,把第i个的后一个即i+1去与前面的i个逐个比较... 解法一: package com.sheepmu.text; import java.util.Arrays; /* * ...

  8. 插入排序(Java实现)

    直接插入排序 public class InsertionSort { public static <T extends Comparable<? super T>> void ...

  9. 数据结构排序算法插入排序Java实现

    public class InsertDemo { public static void main(String args[]) { int[] sort ={4,2,1,3,6,5,9,8,10,7 ...

  10. 插入排序——Java实现

    一.排序思想 从数组第一个元素开始(0下标),该元素可以认为已经被排序: 取出待排序列中第一个元素,然后从“有序”序列中,从后往前扫描: 如果该元素(有序序列)大于待插入元素(待排序列),将该元素后移 ...

随机推荐

  1. 完全卸载删除gitlab

    完全卸载删除gitlab 1.停止gitlab gitlab-ctl stop 2.卸载gitlab(注意这里写的是gitlab-ce) rpm -e gitlab-ce 3.查看gitlab进程 p ...

  2. 五种ip proxy的设置方法

    我们在制作爬虫爬取想要的资料时,由于是计算机自动抓取,强度大.速度快,通常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,在这里介绍相关的技巧,以免被封:但在制作爬虫时,还 ...

  3. ESP8266代码中的存储标记

    const uint8 MyArr[1024] ICACHE_RODATA_ATTR = {0}; void MyFun() ICACHE_FLASH_ATTR { } 这种 ICACHE 开头的宏作 ...

  4. tp5分页后数据处理

  5. 《剑指offer》最小的k个数

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  6. NIagara Workbench ( 温度控制)

    1.在原来BoilerControl的基础上建立一个 2.检查通过标签构造的报告的时候,在键盘上按下Control键并一直保持的同时按下L键 将会弹窗一个ORD窗口代表定义的参数.同时按下Contro ...

  7. 利用jQuery如何获取当前被点击的按钮

    如下代码 <tr> <td><a href="javascript:void(0)">点我1</a></td> < ...

  8. PHP开发API接口签名及验证

    <?php // 设置一个密钥(secret),只有发送方,和接收方知道 /*----发送方和接收方- start ----*/ $secret = "28c8edde3d61a041 ...

  9. nginx+apache动静分离/负载均衡

    [主从] [Mysql-Master] log-bin=mysql-bin server-id = MariaDB [(none)]> grant replication slave on *. ...

  10. SpringMVC-2-(Controller)

    一)参数类型 @RequestMapping("hello4") @ResponseBody public ModelAndView Hello4( // Servlet的三个参数 ...