Java排序算法分析与实现------插入排序

一、原理

        插入排序是简单排序中最快的排序算法,插入排序时间复杂度为O(n*n)
       把n个待排序的元素看成一个无序表,将指针指向其中一个元素,假设该元素左边的元素都是有序的,将该元素抽取出来,按照从右往左的顺序分别与左边的元素比较,如果遇到的元素比该元素大,则遇到的元素右移,与该元素交换位置,直到找到比该元素小的元素或者移动到最左边发现其他元素都比它大,将该元素放到当前位置上,此时该元素的左边元素都比它小,右边元素都比他大,然后将指针指向下一个位置,重复之前的操作。

二、代码实现:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简单来说,时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间 时间复杂度计算时间复杂度的方法: 用常...
    Teci阅读 1,141评论 0 1
  • 概述: 本文给出常见的几种排序算法的原理以及java实现,包括常见的简单排序和高级排序算法,以及其他常用的算法知识...
    匆匆岁月阅读 524评论 0 0
  • 排序的基本概念 在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快...
    Jack921阅读 1,519评论 1 4
  • 搞懂基本排序算法 上篇文章写了关于 Java 内部类的基本知识,感兴趣的朋友可以去看一下:搞懂 JAVA 内部类;...
    醒着的码者阅读 1,243评论 3 4
  • 我有功于人不可念,而过则不可不念;人有恩于我不可忘,而怨则不可不忘。自己的不好要记牢,自己的好要忘掉;别人的恩要记...
    张康诚阅读 1,569评论 0 0