插入排序(c++)

插入排序
插入排序的工作方式像许多人排序一手扑克牌。开始时,我们的左手为空并且桌子上的牌面向下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较。拿在左手上的牌总是排序好的,原来这些牌是桌子上牌堆中顶部的牌 [1] 。
插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序 [3] 。

在这里插入图片描述

#include<iostream>
using namespace std;
void insert_sort(int* a,int n)
{for (int i = 1; i < n; i++){int temp = a[i];int j = i - 1;for (j; j >= 0; j--){if (a[j] > temp){a[j + 1] = a[j];}else{break;}}a[j + 1] = temp;}
}
void main()
{int a[10]{ 9,7,8,2,5,1,3,6,4 };insert_sort(a, 9);for (int i = 0; i < 9; i++){cout << a[i]<<" ";}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 操作 redis

官网命令&#xff08;英文&#xff09;列表&#xff1a;http://redis.io/commands Redis 教程&#xff1a;http://www.redis.net.cn/tutorial/3501.html Redis 命令参考&#xff1a;http://redisdoc.com/index.html Windows 中 redis 的下载及安装、设置&#xff1a;https://…

使用wxWidgets编程——第一步

使用wxWidgets编程——第一步 转载于:https://www.cnblogs.com/zhangyang/archive/2007/07/17/821537.html

redis调优 -- 内存碎片

最近查看了一下redis运行状况&#xff0c;发现公司测试服务器的redis内存不太够用&#xff0c;但是实际占用内存的数据量其实不大&#xff0c;以前也没有这种情况&#xff0c;之前在cache层新增了一个防刷积分任务的逻辑才会这样&#xff0c;搜索一下原因&#xff0c;发现原来是…

2018 物联网产业分布展望:基础设施将到位

来源&#xff1a;36氪概要&#xff1a;在过去一年多的时间里&#xff0c;关于初创企业失败以及安全问题令人担忧等报道内容一直笼罩着物联网行业。在过去一年多的时间里&#xff0c;关于初创企业失败以及安全问题令人担忧等报道内容一直笼罩着物联网行业。但其实&#xff0c;物…

深入理解C# 3.x的新特性(2):Extension Method[下篇]

四、Extension Method的本质 通过上面一节的介绍&#xff0c;我们知道了在C#中如何去定义一个Extension Method&#xff1a;它是定义在一个Static class中的、第一个Parameter标记为this关键字的Static Method。在这一节中&#xff0c;我们来进一步认识Extension Method。 和C#…

解释器模式详解

Expression.java public interface Expression {// 解析公式和数值&#xff0c;其中var 中的key 值是公式中的参数&#xff0c;value 值是具体的数字.public int interpreter(final Map<String, Integer> var); } VarExpression.java public class VarExpression imp…

二分查找(c++)

二分查找 二分查找也称折半查找&#xff08;Binary Search&#xff09;&#xff0c;它是一种效率较高的查找方法。但是&#xff0c;折半查找要求线性表必须采用顺序存储结构&#xff0c;而且表中元素按关键字有序排列。它充分利用了元素间的次序关系&#xff0c;采用分治策略&a…

谷歌母公司投资成绩:4大机构各有侧重,投资2个马斯克项目

李杉 编译自 TechCrunch量子位 出品 | 公众号 QbitAIAlphabet&#xff0c;谷歌母公司。和谷歌做的大多数事一样&#xff0c;Alphabet也在大规模进行投资。这这篇文章中&#xff0c;外媒TechCrunch盘点了Alphabet的风险投资情况、它的投资组合的表现&#xff0c;以及该公司的投资…

Redis 数据库入门教程

From&#xff1a;http://www.jb51.net/article/56448.htm Redis 菜鸟教程&#xff1a;http://www.runoob.com/redis/redis-tutorial.html Redis 设计与实现&#xff1a;http://redisbook.com/ Redis基础、高级特性与性能调优&#xff1a;https://www.jianshu.com/p/2f14bc57…

VS2005 添加 Microsoft.Office.Tools.Word.dll 等引用

1. 入门 (Visual Studio Tools for Office)-------------------------------------------http://msdn2.microsoft.com/zh-cn/library/23cw517s(VS.80).aspx 2. Microsoft Visual Studio 2005 Tools for Office Second Edition Runtime (VSTO 2005 SE) (x86)-------------------…

大脑的终极秘密——从狮子也有意识谈起

作者&#xff1a;中国科学院大学教授 谢平理性思维是意识的高级成分&#xff0c;但它并非人类的专利。在自然界的生存斗争中&#xff0c;人类不仅仅需要通过感觉器官去获取外部世界的印象&#xff0c;还需要对外部世界的事物进行归类、判断与推理&#xff0c;决定自己对刺激的…

MS SQL入门基础:触发器概述

在上面几节我们介绍了一般意义的存储过程&#xff0c;即用户自定义的存储过程和系统存储过程。本节将介绍一种特殊的存储过程&#xff0c;即触发器。在余下各节中我们将对触发器的概念、作用以及对其的使用方法作详尽介绍&#xff0c;使读者了解如何定义触发器&#xff0c;创建…

Python集合(set)类型的操作

菜鸟教程&#xff1a;Python3 集合&#xff1a;https://www.runoob.com/python3/python3-set.html Python 的 集合&#xff08;set&#xff09;和 其他语言类似&#xff0c;是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合。基本功能包括关系测试和消…

一个线程池中的线程异常了,那么线程池会怎么处理这个线程?

来源&#xff1a;一个线程池中的线程异常了&#xff0c;那么线程池会怎么处理这个线程? - 反光的小鱼儿 - 博客园 一个线程池中的线程异常了&#xff0c;那么线程池会怎么处理这个线程? 目录 线程池常用问题 不允许使用的原因测试流程 测试用例抛出堆栈异常为啥对了一半?怎…

深度学习:技术原理、迭代路径与局限

来源&#xff1a;36氪作者&#xff1a;何沛宽本文尝试复盘梳理深度学习目前的技术要点&#xff0c;深度学习中模型迭代的方向&#xff0c;以及改进后存在的局限。第一部分&#xff1a;深度学习技术基本要素&#xff1a;神经元、神经网络、分类器、可视化框架在深度学习领域&…

简单而直接的Python web 框架:web.py

From&#xff1a;https://www.oschina.net/question/5189_4306 Web.py github 地址&#xff1a;https://github.com/webpy/webpy https://pypi.python.org/pypi/web.py Web.py Cookbook 简体中文版&#xff1a;http://webpy.org/cookbook/index.zh-cn web.py 0.3 新…

ASP.NET页面的结构

ASP.NET页面的结构一、页指令&#xff1a; 包括Assembly(将一个程序集连接到当前页或用户控件)、 Control(.ascx&#xff0c;定义与控件相关的属性&#xff0c;这些属性指导控件编译器的行为)、 Implements&#xff08;说明该页面或该用户控件…

用图表说话--导言

有些时候不用图表反而做得更好 1、有时候用图表来表示某种精确的内容&#xff08;如&#xff1a;范围和预期&#xff09;&#xff0c;可能产生误导 2、有时候有些数据&#xff08;如&#xff1a;公司的损益情况&#xff09;听众和读者都已习惯了一种固定的表述方式&…

1102 Invert a Binary Tree(甲级)

1102 Invert a Binary Tree (25分) The following is from Max Howell twitter: Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off. Now it’s your turn to prove that YOU CAN invert…

从寻找可敬的人类开始,扩展未来人类生存的8个维度

来源&#xff1a;资本实验室作者&#xff1a;李鑫从小村庄到大城市&#xff0c;从国内到国外&#xff0c;从地球到月球&#xff0c;从太阳系到银河系……什么样的距离才是最远的距离&#xff1f;从地球的内部&#xff0c;到每一个原子&#xff0c;再到我们的情绪&#xff0c;哪…