1、算法流程

(1)假设数据集A,第i个元素的左边是排序好的;

(2)把第i个元素a从右到左与i左边的元素b比较,如果发现该b>a,那么就把b后移一个位置(需要把a元素的位置先临时保存下来,然后空出位置);直到b<a的时候,就把a插进去。

2、代码实现:

void insert_sort(int*data,int length)
{for(int i=0;i<length;i++){for(int j=i-1;j>=0;j--){if(data[j+1]>data[j])//不能有ibreak;swap(data[j+1],data[j]);//位置后移}}
}int main() {int data[10]={13,5,1,6,7,8,4,2,2,10};//quite_sort(data,0,13);//bubble_sort(data,10);insert_sort(data,10);for(int i=0;i<10;i++){std::cout<<data[i]<<std::endl;}return 0;
}

数据结构(三)插入排序相关推荐

  1. 学习javascript数据结构(三)——集合

    前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...

  2. 数据结构 - 直接插入排序法

    数据结构 - 直接插入排序法. 之前的博文已经介绍了 冒泡排序法 和 简单选择排序法. 其实上面两种的基本思路是一样的, 就是通过两层循环, 在每1个内循环中找到1个未排序的极值元素, 然后把这个元素 ...

  3. 有向图最长路径算法_算法数据结构 | 三个步骤完成强连通分量分解的Kosaraju算法...

    强连通分量分解的Kosaraju算法 今天是算法数据结构专题的第35篇文章,我们来聊聊图论当中的强连通分量分解的Tarjan算法. Kosaraju算法一看这个名字很奇怪就可以猜到它也是一个根据人名起 ...

  4. 数据结构---简单插入排序

    数据结构-简单插入排序 原理:参考趣学数据结构 代码: #include<stdio.h> #include<stdlib.h> void simpleInsertSort(i ...

  5. 【数据结构】数据结构三要素

    数据结构三要素 数据结构的三要素包括数据逻辑结构.数据存储结构和数据的运算. 数据逻辑结构 数据的逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据.它与数据的具体存储形式无关,是独立于计算机 ...

  6. 教老婆学java系列之奇妙的数据结构三

    教老婆学java之奇妙的数据结构三 Map与其他 发难环节:如何将这些数据发送给另一个方法或前端 学生 {姓名:张三, 性别:男,爱好:打球} {姓名:李四 ,性别:女,爱好:打球} 老师 {姓名:碟 ...

  7. 数据结构(三) 用java实现七种排序算法。

    很多时候,听别人在讨论快速排序,选择排序,冒泡排序等,都觉得很牛逼,心想,卧槽,排序也分那么多种,就觉得别人很牛逼呀,其实不然,当我们自己去了解学习后发现,并没有想象中那么难,今天就一起总结一下各种排 ...

  8. [数据结构]用插入排序和选择排序的思想实现优先级队列

    一.问题概述 优先级队列的定义: 优先级队列不同于普通的队列,普通的队列具有先进先出的原则,而优先级队列是选择优先级最高的先出队.那么,如何模拟实现优先级队列呢?在这里,我们将较大的值作为优先级较高的 ...

  9. 算法与数据结构(三) 二叉树的遍历及其线索化(Swift版)

    前面两篇博客介绍了线性表的顺序存储与链式存储以及对应的操作,并且还聊了栈与队列的相关内容.本篇博客我们就继续聊数据结构的相关东西,并且所涉及的相关Demo依然使用面向对象语言Swift来表示.本篇博客 ...

最新文章

  1. C#拉姆达(=)表达式
  2. 从源码分析DEARGUI之add_tab 和 add_tab_bar
  3. .NET 并行(多核)编程系列之七 共享数据问题和解决概述
  4. Http与WWW服务精解
  5. python数据结构之字典(dict)——超详细
  6. 分布式-图片上传到Lgnix
  7. 华为非对等通信小实验
  8. jQuery:设置body的背景
  9. 服务器显示RL011,台达伺服驱动器维修之AL011故障原因和方法
  10. 手机图形计算器matlab,科学图形计算器 Mathlab
  11. 【android】集成腾讯的播放器SDK
  12. 智能制造运筹优化_机械类(智能制造与智能装备)之工业工程专业
  13. 计算机配置64位几个字节,电脑装32位还是64位系统
  14. semantic ui中文文档_求你别再用swagger了,给你推荐几个在线文档生成神器
  15. 桌面录屏软件,分享3个十分便捷的录屏软件
  16. STM32掌机教程7,演奏音乐
  17. pycharm怎么设置成中文版的
  18. AD生成BOM表_材料清单 (Bill of Material)
  19. 【台大郭彦甫】Matlab入门教程超详细学习笔记五:初阶绘图(附PPT链接)
  20. 《Molecular Plant》新思路:比较转录组+比较基因组研究小麦高效氮利用分子机制

热门文章

  1. @aspect注解类不生效_Spring Boot从入门到精通(三)常用注解含义及用法分析总结...
  2. PHP表单提交后页面跳转,PHP在表单提交后重定向到另一个页面
  3. modelsim10.1a安装破解说明
  4. 计算机专业本科开题报告,计算机本科毕业论文开题报告
  5. mongodb3 重启_手机卡顿反应慢?OPPOR9splus重启找回“新机”手感_
  6. 微型计算机中 i o接口位于6,北语15秋计算机基础作业1
  7. 转:[kipmi0]进程导致系统负载高
  8. 操作系统之虚拟存储管理
  9. 开发必备知识点--django项目启动时,url加载之前,执行某个.py文件
  10. 2017-2018 Northwestern European Regional Contest (NWERC 2017)