【PTA题目解答】7-5 简化的插入排序 (15分)

pta7-5 简化的插入排序 (15 分)详解(附带一些基础讲解) 7-5 简化的插入排序 (15 分) 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。 输入格式: 输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。 输出格式: 在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。 输入样例: 5 1 2 4 5 7 3 输出样例: 1 2 3 4 5 ... 阅读详情
AI摘要

该博客介绍了两种不同的简化插入排序算法实现方式,一种通过逐个交换元素,另一种通过找到插入位置后移动元素。代码示例分别展示了这两种方法,确保在插入一个整数到已排序的序列中后,序列依然保持有序。

7-5 简化的插入排序 (15分)

本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。

输入格式:

输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

输出格式:

在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。

输入样例:

5
1 2 4 5 7
3

输出样例:

1 2 3 4 5 7 

定义一个n+1长度的数组,把要插入的值放在最后,由于原来的数组是有序的,且从小到大排序,只需顺序遍历数组元素,当n+1位置比当前位置要小就与之交换,这样到最后就能完成排序。在运行过程中其实就是到需要插入的位置后把其后每个元素都轮流放到n+1位置一遍。

#include<stdio.h>
int main(){
    int n,i,j;
    scanf("%d",&n);
    int a[n+1];
    for(i=0;i<=n;i++)
    scanf("%d",&a[i]);

    for(i=0;i<n;i++) if(a[i]>a[n])
    {a[i]=a[i]+a[n];a[n]=a[i]-a[n];a[i]=a[i]-a[n];}//交换

    for(i=0;i<=n;i++)
    printf("%d ",a[i]);
    return 0;
}

当然也可以不用这样逐个交换 ,先存储需要插入的值,找到需要放入的位置,把这个位置及其后的元素都后移空出位置,然后放入即可。这个思路更具有简洁性。

#include <stdio.h>
int m
【 简化的插入排序 】 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序 输入格式:输入在第一行先给出非负整数N(&lt;10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。输出格式:在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。输入样例:5 1 2 4 5 7 3 输出样例:1 2 3 4 5 7#include &lt;stdio.h&gt; main() { int n,i,j,x,a[11]; scanf("%d"... 阅读详情

相关推荐

简化的插入排序

7-5 简化的插入排序 (15分) 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。 输入格式: 输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。 输出格式: 在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。 输入样例: 5 1 2 4 5 7 3 输出样例: 1 2 3 4 5 7 在这里插入代码片 ```#include <stdio.h> int main() { i

m0_51830004的博客 1780

实战指南 | IC模拟版图设计从零到精通,手把手带你掌握EDA工具与GDSII输出

本文提供了一份从零开始的IC模拟版图设计实战指南。详细介绍了如何搭建Linux环境、安装Cadence Virtuoso等EDA工具,并深入解析了PDK设计规则。通过手把手绘制CMOS反相器版图的实例,系统讲解了版图绘制、DRC/LVS验证、寄生参数提取、匹配设计以及ESD防护等核心技能,最终指导如何正确生成交付芯片制造厂的标准GDSII文件,帮助读者掌握完整的模拟版图设计流程。

weixin_29214691的博客 390

西门子S7-1200与S7-200SMART的PROFINET通讯实战:从GSD文件生成到数据监控

本文详细解析了西门子S7-1200与S7-200SMART之间实现PROFINET通讯的完整实战流程。核心内容包括将S7-200SMART配置为智能IO设备、生成并安装GSD文件、在TIA Portal中进行网络组态与地址映射,最终实现双向数据交换与监控。该方案为整合新旧设备、构建灵活高效的工业自动化系统提供了可靠路径。

weixin_29271263的博客 246

【近源攻击】badusb制作

BadUSB是利用伪造HID设备执行攻击载荷的一种攻击方式。HID(Human InterfaceDevice)设备通常指的就是键盘鼠标等与人交互的设备,用户插入BadUSB,就会自动执行预置在固件中的恶意代码。BadUsb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。

qinjilll的博客 2550

HC32F460的GPIO重映射实战:如何用3步搞定SPI引脚冲突问题

本文详细介绍了HC32F460的GPIO重映射功能,通过三步操作解决SPI引脚冲突问题。文章解析了HC32F460的FuncGroup功能分组机制,提供了具体的寄存器配置步骤和验证技巧,并对比了与传统方案的性能优势,帮助工程师灵活配置引脚,优化硬件设计。

t4y5u6i7o的博客 918

【PVCodeNet】《Palm Vein Recognition Network Combining Transformer and CNN》

1]吴凯,沈文忠,贾丁丁,等.融合Transformer和CNN的手掌静脉识别网络[J].计算机工程与应用,2023,59(24):98-109.

bryant_meng 1281

密码学小白必看:三大顶级会议论文下载与阅读指南(附完整资源链接)

本文为密码学初学者提供了系统获取和阅读三大顶级会议(Crypto、Eurocrypt、Asiacrypt)论文的实战指南。详细介绍了通过IACR官方渠道、ePrint预印本等权威资源免费下载论文的方法,并分享了高效筛选、精读核心章节及构建个人知识体系的具体策略,帮助读者快速切入密码学研究前沿。

weixin_28363123的博客 406

1.4 KFD 设备文件的获取与驱动握手协议

本文分析了OpenClose模块中libhsakmt与KFD内核驱动建立通信的过程。首先通过hsaKmtOpenKFD()函数打开/dev/kfd设备文件,建立用户态与内核态的通信通道。随后通过AMDKFD_IOC_GET_VERSION ioctl命令完成版本握手,确认双方的接口兼容性。KFD驱动采用Major.Minor二级版本号体系,当前主要版本为1,从1.1演进到1.19不断添加新功能。整个过程构成了用户态与内核态之间的"建连协议",是所有后续GPU操作的基础前提。

图形/计算GPU的驱动与虚拟化技术分享园地 607

CodeX 登录报错 os error 10013?一键修复 CodeX 无法登录问题(亲测有效)

CodeX 登录时报 os error 10013?本文提供快速修复方案,实测有效,彻底解决登录报错:登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013)的问题💡

XiaoqiangClub的博客 2929

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: 【PTA题目解答】7-4 交换最小值和最大值 (15分)
下一篇:  【PTA题目解答】7-6 求一批整数中出现最多的个位数字 (20分)
doreaming
博客等级 码龄6年 270粉丝 35原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

doreaming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值