插入排序

C++插入排序 文章目录前言一、插入排序的基础知识点1.插入排序的排序原理2.插入排序的所属类别3.插入排序的算法复杂度二、插入排序动态图三、代码总结 前言 今天来和大家分享插入排序。 一、插入排序的基础知识点 1.插入排序的排序原理 用未排序序列中的首个元素a,与已排序元素b从后向前逐个对比,若a>b则a插入b的后一位,若a<b,则a、b位置互换。 2.插入排序的所属类别 插入排序属于“比较类排序” 3.插入排序的算法复杂度 最坏的情况为与所求序列相反的序列,所以需要依次操作 1、2、3…(n-1)次. 阅读详情
#include<iostream>
using namespace std;
int a[1000];
void insertsort(int r[],int n)
{
	for(int i = 2; i <= n; i ++)
	{
	     if(a[i]<a[i-1]) 
		 {
		 	 int j;
		 	 a[0] = a[i];
             for(j = i-1; a[j] > a[0]; j--) a[j+1] = a[j];
             a[j+1] = a[0];
		 }
	     
	}
}
int main()
{
	int n;
	while(cin>>n)
	{
		for(int i = 1; i <= n;i ++)
				cin>>a[i];
		insertsort(a,n);
		for(int i =1; i <= n;i ++)
		      cout<<a[i]<<" ";
        cout<<endl;
	}
	return 0;
	
}

Ubuntu 24.04 下 NoMachine 极速安装与远程桌面配置全攻略 本文详细介绍了在Ubuntu 24.04系统下安装和配置NoMachine远程桌面的完整指南。从系统准备、分步安装到性能调优和常见问题解决,帮助用户快速实现低延迟的远程桌面访问。特别适合开发者和IT管理员在Linux环境下高效部署远程工作环境。 阅读详情

相关推荐

别再死磕官方文档了!用宿舍开黑的故事,5分钟搞懂Autosar CanNM网管报文

本文通过宿舍开黑游戏的生动类比,深入浅出地解析了Autosar CanNM网管报文的工作原理。从游戏队友协作到汽车ECU节点的同步机制,详细介绍了网管报文的唤醒流程、通信协议及休眠策略,帮助读者快速掌握这一关键技术。

weixin_30463341的博客 262

《ACM竞赛-C/C++入门》 C语言-11

尹成老师带你步入C语言基础的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以C语言为核心,完整精彩的演练了C语言操作流程以及各种精彩的小项目等,提高竞赛能力,非常适合同学们学习!

WRF后处理:python cartopy绘制土地利用/土地分类图//python绘制WRF下垫面类型(以北极为例)

下垫面类型对于WRF的地表过程十分重要,而在我们研究WRF的地表过程之前,需要对输入的土地利用类型进行一些绘制,以便后续的修改。LU_MODIS21函数定义了绘制的土地类型、标签与对应色标,我们使用时,直接引用LU_MODIS21()即可返回。其实很简单,只要将你拥有的土地类型数据提取出来,将原本函数中的labels和C切片,重新定义色标再绘制即可。在这里,我将以北极地区为例,绘制北极地区的WRF下垫面数据,我使用的MODIS21这类。

weixin_43750300的博客 3859

折半插入排序-ACM题

第一种实现方式:(本人一开始对cin的使用不是很熟悉,看了一些人得博客详解后才有了第一种方式的实现,自己都被惊讶到了so easy:题目在下面) // // main.cpp // BinaryInsertSort // // Created by Jason on 16/9/28. // Copyright © 2016年 Jason. All rights reserv...

weixin_30480075的博客 309

I2S时序及音频驱动

I2S、音频驱动

qq_41882586的博客 3948

利用CubeMX复现正点原子TFTLCD驱动例程

①准备delay.c、delay.h、sys.c和sys.h四个文件。FMC的工作原理暂时先欠着,先记录一下CRUD的过程。这里我们使用的是BANK1 的第一个分区。点击 Configuration->FMC。②把fmc自动生成的代码注释掉一部分。配置参数如下图 17.5.1。③这个printf语句要屏蔽掉。选项卡之下配置相关参数。④整体代码,按需裁剪。

qq_59757948的博客 1613

直接插入排序的四种实现方法

插入排序思想:默认第一个元素为有序序列,从第二位开始取数,每取一位,插入到前面已经排好序的序列中,直到全部取完为止。 相应的代码实现如下: #include <iostream> using namespace std; int main() { int n ; cin >> n ; int a[100]...

aizhi0169的博客 325

库卡机器人外部轴配置全流程:从接线到WorkVisual 6.0实战(附避坑指南)

本文详细解析了库卡机器人外部轴配置的全流程,涵盖从硬件接线到WorkVisual 6.0软件配置的实战步骤。重点介绍了KPP驱动模块连接、电机参数匹配、安全配置激活及零点标定等关键环节,并提供了实用的避坑指南,旨在帮助工程师高效、安全地完成外部轴集成,提升工作站柔性。

weixin_29161785的博客 497

程序员面试必备:七种经典排序算法总结(介绍+步骤+动画+python3实现)

一、冒泡排序 介绍 冒泡排序是排序算法中较为简单的一种,英文称为 Bubble Sort。它遍历所有的数据,每次对相邻元素进行两两比较,如果顺序和预先规定的顺序不一致,则进行位置交换;这样一次遍历会将最大或最小的数据上浮到顶端,之后再重复同样的操作,直到所有的数据有序。 如果有n个数据,那么需要的比较次数,所以当数据量很大时,冒泡算法的效率并不高。 当输入的数据是反序时,花的时间最长,当输入的数...

qq_32799165的博客 3187

EZ-USB-FX3 slavefifo调试

最近使用fx3-usb-3.0调试slave fifo的传输,期间遇到许多难以理解的问题。在这里分享给大家,希望可以少走一些弯路,我自己是这样走过来的。 1,首先去官网下载原始的参考设计,并安装所提供的SDK软件:FX3SDKSetup_1.3.4.exe 2,接着把参考设计文档AN65974阅读一遍,分别创建新的SDK工程和FPGA工程。如果使用的原厂的开发板,那么可以按照文档提示,可以很顺畅的跑完整过测试。否则需要匹配自己的硬件,做针对性的更改和移植,而我走的是后一条路,于是开始了漫长的调试之路。.

YDY5659150的专栏 3631

考试遇到 Assistant API 考点时,该掌握哪些要点?

【摘要】聚焦阿里云大模型 ACP 认证中智能体 Assistant API 考点,我结合自学认证成功经验,分享复习攻略。先解析 assistants、threads 等五个核心组件作用与关系,点明各组件支持及不支持的方法,最后给出计算 Python 代码调用大模型次数的思路,助力考生攻克考点、顺利拿证 。

davidkorhenn的博客 495

插入排序详解

摘要:插入排序是一种非常有意思且比较高效的排序方法,同时插入排序是希尔排序的基础,现在我们来看看插入排序。

云杉木屋 4万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

插入排序-简单插入排序和二分插入排序

插入排序: 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 基本思想 每一步都是将 待排序的一个数据,插入到一个已经有序的数据序列里面。直到所有的数据全部插入为止。 类似于打牌【斗地主】,每摸一张就按照顺序放到位置。每

Riptide 501

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

表插入排序

表插入排序

Keep_Trying_Go的博客 2235

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JS实现插入排序

一,插入排序1,算法简介插入排序的工作原理就是将未排序数据,对已排序数据序列从后向前扫描,找到对应的位置并插入。插入排序通常采用占位的形式,空间复杂度为O(1),因此,在从后向前扫描的过程中,需要反复的把已排序的元素逐步向后挪位,为新插入元素提供插入的位置。2,算法描述1)从第一个元素开始,该元素可以被认为已经被排序2)取出下一个元素,在已经排好序的序列中从后往前扫描3)直到找到小于或者等于该元素...

bangbanggangan的博客 1万+

插入排序与折半插入排序比较

插入排序是一种原地排序算法,即它的空间复杂度为o(1),原始插入排序的最坏(即原始序列的顺序刚好和我们所希望的顺序相反)和平均时间复杂度均为o(n*n),而在最好的情况下(即原始序列已经是按照我们所希望的顺序排好的序列)为o(n)。 下面的例子展示原始插入排序的整个过程:整个序列存放在数组中,按照从小到大的顺序进行排列。 8 2 4 9 3 6.//原始序列 从第二个元素开始,每个元素依次与

mayo2012的专栏 1249

插入排序-2-路插入排序

2-路插入排序    一、定义     2-路插入排序是在折半插入排序的基础上再改进,其目的是减少排序过程中移动记录的次数,但为此要付出n个记录的辅助空间。 二、具体实现     另设一个同类型的数组d,先将list[1]复制给d[1],并将d[1]看成是排好序的序列中处于中间位置的记录,然后从list中第二个记录起依次插入到d[1]之前或之后的有序序列中。先将待插入记录和d[1]进行比较,若大于d[1],则

对自己笑 1465

排序之二分插入排序

作为一个稳定的排序算法, 插入排序很重要,大多数程序员都可以很轻松的写出插入排序! 先看一下插入排序的代码: void sort_insert(int a[],int n) { int i,j; i=1; while(i<n) { int x = a[i]; j=i-1; while(j>=0 && a[j]>x) { a[j+1]=a[j];

Ben的专栏 4685

简单插入排序,折半插入排序和2路插入排序 c源码

以下三种插入排序时间复杂度均为O(n^2) 简单插入排序,简单直接。假定数组有序,插入 i, 从后往前遍历找到适合位置 j,移动 j +1 ~ i -1往后一位,插入i到j中。 void insertSort(int *arr, int numsSize) { int i, j, k, v; for (i = 1; i < numsSize; i++) { for (j = ...

fuyuande的博客 330

插入排序及优化

插入排序是简单排序的一种,也是基于“减治法”思想的一种算法,减治法有3种变形: 减去一个常量; 减去一个常量因子; 减去的规模是可变的。 插入排序算法的时间复杂度和冒泡、选择排序算法一样也是o(n²),常见的基于插入排序算法思想的排序算法有: 直接插入排序算法; 折半插入排序算法; 希尔排序算法。(查看) 插入的方法一共有三种:

DR的专栏 3416

插入排序之二路插入排序

可以说二路插入排序是对折半插入排序的进一步改进,目的就是为了减少折半插入排序记录移动的次数, 但是二路插入排序需要借助n个记录的辅助空间,也就是说他的空间复杂度为O(n); 初始关键字序列   51     33          62           96 87 17 28 51 i=1 [51] first      final i=2

tongnianhani的博客 1302

插入排序和折半插入排序实现

一、实验(实训)目的 掌握插入排序的两种方法并加以实现: 二、实验(实训)原理或方法 直接插入排序:插入排序从第二个数开始,拿出第二个数进行向前插入排序,一直到最后一个数向前做插入排序。算法稳定。 折半插入排序:顺序地把待排序的序列中的各个元素按其关键字的大小,通过折半查找插入到已排序的序列的适当位置。 三、仪器设备、材料 VSCODE + gcc.exe 四、实验(实训)步骤 代码:复制或者截图(完整) void insertSort(int *L, int n) { int i, j;

汽车电子从业者,电子爱好者。 860
上一篇: 选择排序
下一篇: Eddy's research I
CTTACM
博客等级 码龄12年 25粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值