已知一组整型数据已按从小到大排列好,现任意输入一个整数,请按原来排序的规律将它插入到数组中 5

已知一组整型数据已按从小到大排列好,现任意输入一个整数,请按原来排序的规律将它插入到数组中... 已知一组整型数据已按从小到大排列好,现任意输入一个整数,请按原来排序的规律将它插入到数组中 展开
三栖好人
2011-04-21 · TA获得超过5127个赞
知道小有建树答主
回答量:2030
采纳率:78%
帮助的人:716万
展开全部
//array是原来的数组,num是你要插入的数
array.push(num) //用push语句将num插入数组,注意,此时num处于数组的最后一位
array.sort(min(a,b)) //用sort方法对数组进行排序
注:因为不知道你使用的是什么语言,就当你用的是C了。sort方法默认不是按照数字大小排序的,所以要在它的参数里指定一个函数作为排序方法。所以,这里我放了一个名为min的函数,用途是比较a,b两个参数,并反回他们中较小的那个。这个函数自己写一下。

当然,实现你要求的事情,有很多种方法去完成。我写的是最简洁的,两句解决问题。
你也可以写个for 语句,遍历数组,获得新的整数改插入到哪个索引位置。这是大多数人想得到的方法,你不妨试试看。
滑珍5
2011-04-30
知道答主
回答量:17
采纳率:0%
帮助的人:17.3万
展开全部
#include <stdio.h>
void main()
{
int a[7]={ 1,7,9,11,14,20},b,c,i,j;
printf("输入插入的数:");
scanf("%d",&b);
for(i=0;i<5;i++)
{
if(a[i]<=b&&b<=a[i+1])
{
for(j=5;j>=i+1;j--)
a[j+1]=a[j];
a[i+1]=b;break;
}
}
if(b>20)
a[6]=b;
if(b<1)
{for(i=5;i>=0;i--)
a[i+1]=a[i];
a[0]=b;}
for(i=0;i<=6;i++)
printf("%d ",a[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jadun007
2011-04-21 · 超过11用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:17.7万
展开全部
例如:10个数以排好。现在又一个数要插入。那么原来的10个数有11个空位。所以这个数又11种排法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ncalds
2011-04-21 · TA获得超过3.1万个赞
知道大有可为答主
回答量:3万
采纳率:65%
帮助的人:4819万
展开全部
你是在什么软件环境下进行这样的操作?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式