数据结构(三)插入排序
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;
}
数据结构(三)插入排序相关推荐
- 学习javascript数据结构(三)——集合
前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...
- 数据结构 - 直接插入排序法
数据结构 - 直接插入排序法. 之前的博文已经介绍了 冒泡排序法 和 简单选择排序法. 其实上面两种的基本思路是一样的, 就是通过两层循环, 在每1个内循环中找到1个未排序的极值元素, 然后把这个元素 ...
- 有向图最长路径算法_算法数据结构 | 三个步骤完成强连通分量分解的Kosaraju算法...
强连通分量分解的Kosaraju算法 今天是算法数据结构专题的第35篇文章,我们来聊聊图论当中的强连通分量分解的Tarjan算法. Kosaraju算法一看这个名字很奇怪就可以猜到它也是一个根据人名起 ...
- 数据结构---简单插入排序
数据结构-简单插入排序 原理:参考趣学数据结构 代码: #include<stdio.h> #include<stdlib.h> void simpleInsertSort(i ...
- 【数据结构】数据结构三要素
数据结构三要素 数据结构的三要素包括数据逻辑结构.数据存储结构和数据的运算. 数据逻辑结构 数据的逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据.它与数据的具体存储形式无关,是独立于计算机 ...
- 教老婆学java系列之奇妙的数据结构三
教老婆学java之奇妙的数据结构三 Map与其他 发难环节:如何将这些数据发送给另一个方法或前端 学生 {姓名:张三, 性别:男,爱好:打球} {姓名:李四 ,性别:女,爱好:打球} 老师 {姓名:碟 ...
- 数据结构(三) 用java实现七种排序算法。
很多时候,听别人在讨论快速排序,选择排序,冒泡排序等,都觉得很牛逼,心想,卧槽,排序也分那么多种,就觉得别人很牛逼呀,其实不然,当我们自己去了解学习后发现,并没有想象中那么难,今天就一起总结一下各种排 ...
- [数据结构]用插入排序和选择排序的思想实现优先级队列
一.问题概述 优先级队列的定义: 优先级队列不同于普通的队列,普通的队列具有先进先出的原则,而优先级队列是选择优先级最高的先出队.那么,如何模拟实现优先级队列呢?在这里,我们将较大的值作为优先级较高的 ...
- 算法与数据结构(三) 二叉树的遍历及其线索化(Swift版)
前面两篇博客介绍了线性表的顺序存储与链式存储以及对应的操作,并且还聊了栈与队列的相关内容.本篇博客我们就继续聊数据结构的相关东西,并且所涉及的相关Demo依然使用面向对象语言Swift来表示.本篇博客 ...
最新文章
- C#拉姆达(=)表达式
- 从源码分析DEARGUI之add_tab 和 add_tab_bar
- .NET 并行(多核)编程系列之七 共享数据问题和解决概述
- Http与WWW服务精解
- python数据结构之字典(dict)——超详细
- 分布式-图片上传到Lgnix
- 华为非对等通信小实验
- jQuery:设置body的背景
- 服务器显示RL011,台达伺服驱动器维修之AL011故障原因和方法
- 手机图形计算器matlab,科学图形计算器 Mathlab
- 【android】集成腾讯的播放器SDK
- 智能制造运筹优化_机械类(智能制造与智能装备)之工业工程专业
- 计算机配置64位几个字节,电脑装32位还是64位系统
- semantic ui中文文档_求你别再用swagger了,给你推荐几个在线文档生成神器
- 桌面录屏软件,分享3个十分便捷的录屏软件
- STM32掌机教程7,演奏音乐
- pycharm怎么设置成中文版的
- AD生成BOM表_材料清单 (Bill of Material)
- 【台大郭彦甫】Matlab入门教程超详细学习笔记五:初阶绘图(附PPT链接)
- 《Molecular Plant》新思路:比较转录组+比较基因组研究小麦高效氮利用分子机制
热门文章
- @aspect注解类不生效_Spring Boot从入门到精通(三)常用注解含义及用法分析总结...
- PHP表单提交后页面跳转,PHP在表单提交后重定向到另一个页面
- modelsim10.1a安装破解说明
- 计算机专业本科开题报告,计算机本科毕业论文开题报告
- mongodb3 重启_手机卡顿反应慢?OPPOR9splus重启找回“新机”手感_
- 微型计算机中 i o接口位于6,北语15秋计算机基础作业1
- 转:[kipmi0]进程导致系统负载高
- 操作系统之虚拟存储管理
- 开发必备知识点--django项目启动时,url加载之前,执行某个.py文件
- 2017-2018 Northwestern European Regional Contest (NWERC 2017)