博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
元素排序排序算法之插入排序
阅读量:6337 次
发布时间:2019-06-22

本文共 1227 字,大约阅读时间需要 4 分钟。

题记:写这篇博客要主是加深自己对元素排序的认识和总结现实算法时的一些验经和训教,如果有错误请指出,万分感谢。

             迎欢交流探讨,载转请注明出处!

                插入排序(insertion Sort) 的算法描述是一种简略直观的排序算法。其作工道理是通过构建有序

     序列,对于为排序数据,在已排序序列中从后向前开始描扫,找到应相的置位并停止插入操纵。插

     入排序一般只需要用到O(1)的空间,因而在从后向前描扫的时候,需要将排好序的元素停止动挪

     为最新元素供给插入置位。

          首先看看插入排序的态动演示:

                                      

             算法描述:

                      1、从第一个元素开始,可以被以为经已排好序了。

                      2、取下一个元素,在经已排好的元素序列中从后向前描扫。

                      3、如果该元素(已排序)大于新元素,则将该元素一到下一置位。

                      4、重复骤步3,直到已排序的元素小于或等于新元素的置位

                      5、将新元素插入该置位。

                      6、重复骤步2~5

               Tips:这里如果比拟操纵的价值过大的话,可以用使二分查找法停止优化。少减比拟的数次。

                        其作工程过看下面的态动图

                                            

                    看看代码现实吧:

    每日一道理
俄国作家契诃夫说:“有大狗,有小狗,小狗不该因为大狗的存在而心慌意乱。所有的狗都应该叫,就让他各自用上帝给他的声音。

             

package com.kiritor;import java.util.Arrays;/** * 插入排序的简略现实 *  * @author Kiritor */public class Sort
{ public static
> T[] insert_sort(T[] a) { int j; for (int p = 1; p < a.length; p++) { T tmp = a[p]; for (j = p; j > 0 && tmp.compareTo(a[j - 1]) < 0; j--) a[j] = a[j - 1];//元素后移 a[j] = tmp;//插入 System.out.println(Arrays.toString(a)); } return a; } public static void main(String[] args) { Integer[] integer ={12,1,423,123,6,5,10,8}; System.out.println(Arrays.toString(insert_sort(integer))); }}

              那么插入排序的时光杂复、空间杂复又是什么情况呢?

                                

    

文章结束给大家分享下程序员的一些笑话语录: AdobeFlash拖垮Windows拖垮IE!又拖垮Linux拖垮Ubuntu拖垮FirxEox!还拖垮BSD拖垮MacOS拖垮Safri!简直无所不拖!AdobeFlash滚出网路世界!不要以为市占有率高就可以持续出烂货产品!以后替代品多得是!

你可能感兴趣的文章
Hive学习之路 (七)Hive的DDL操作
查看>>
[转]mysql使用关键字作为列名的处理方式
查看>>
awesome go library 库,推荐使用的golang库
查看>>
树形展示形式的论坛
查看>>
jdbcTemplate 调用存储过程。 入参 array 返回 cursor
查看>>
C++中的stack类、QT中的QStack类
查看>>
Linux常用基本命令[cp]
查看>>
CSS 相对|绝对(relative/absolute)定位系列(一)
查看>>
关于 Nginx 配置 WebSocket 400 问题
查看>>
Glide和Govendor安装和使用
查看>>
Java全角、半角字符的关系以及转换
查看>>
Dubbo和Zookeeper
查看>>
前端项目课程3 jquery1.8.3到1.11.1有了哪些新改变
查看>>
UOJ#179. 线性规划(线性规划)
查看>>
整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>
电子书下载:Programming Windows Identity Foundation
查看>>