人生难得几回搏,此时不搏待何时。这篇文章主要讲述在一个有序数列中插入一个数重新进行排序相关的知识,希望能为你提供帮助。
题目:给定9个有序的数列,从中插入一个数,然后重新按从小到大(或者从大到小进行)排序。
原理:通过挪位置数字进行插入,先上代码:
首先9个数字排好序放入一个数组中,通过输入要插入的数,将其和数组中的数进行比较,然后确定插入数应该在数组的哪个位置,如此即可先定位;
后面的for循环即是挪位置的具体代码实现;
误区:1.注意if语句内要放一个break跳出for循环,不然会一直循环下去,直到p=9,这样结果也会出现误差
2.arr[p]=x,这句代码要放在外面,如果放在了里面会导致要插入的那个数位置还没给你挪出来,就直接被替换掉了,这样会少了原本的一个数,然后差入的数打印两个出来
3.注意数组越界问题
再给个进阶点的:即实现任意输入9个数排序后再插入一个数进行排序(冒泡排序/选择排序+上面代码),有兴趣可以写一下:
这个代码要注意一个问题:就是数组初始化是10个数的,而实际输入只有9个数(有一个数是后面要插入的,加起来是10个),这样arr[9]=0,我们不能让这个数参与那9个数的排序,不然0就会被挤到第一个数去,然后原本9个数的最大数在数组的第10个数位置,这样后面我们插入一个数进去排序的时候,就会把原本的10个数挤出去,导致打印的结果出错,其实就是0占了位置。
如有不对,欢迎指正。
【在一个有序数列中插入一个数重新进行排序】
推荐阅读
- 网络地址转化(NAT)
- Golang( 如何使用正则表达式,并实战爬取手机号)
- [C语言] 栈内存存储方式
- 如何给运行在 SAP BTP 上的 Java 微服务增添访问控制功能
- NAT(网络地址转换)理论及配置命令
- # 聊一聊悟空编辑器 # 51CTO之悟空编辑器初体验(一个有自己名字的编辑器)
- Element-ui中 表单(Form)校验的几种形式 及 表单嵌套表格含上传(Upload)组件的
- #聊一聊悟空编辑器# 51CTO博客悟空编辑器体验
- redis | 一NoSql演进史