已知一组整型数据已按从小到大排列好,现任意输入一个整数,请按原来排序的规律将它插入到数组中 5
4个回答
展开全部
//array是原来的数组,num是你要插入的数
array.push(num) //用push语句将num插入数组,注意,此时num处于数组的最后一位
array.sort(min(a,b)) //用sort方法对数组进行排序
注:因为不知道你使用的是什么语言,就当你用的是C了。sort方法默认不是按照数字大小排序的,所以要在它的参数里指定一个函数作为排序方法。所以,这里我放了一个名为min的函数,用途是比较a,b两个参数,并反回他们中较小的那个。这个函数自己写一下。
当然,实现你要求的事情,有很多种方法去完成。我写的是最简洁的,两句解决问题。
你也可以写个for 语句,遍历数组,获得新的整数改插入到哪个索引位置。这是大多数人想得到的方法,你不妨试试看。
array.push(num) //用push语句将num插入数组,注意,此时num处于数组的最后一位
array.sort(min(a,b)) //用sort方法对数组进行排序
注:因为不知道你使用的是什么语言,就当你用的是C了。sort方法默认不是按照数字大小排序的,所以要在它的参数里指定一个函数作为排序方法。所以,这里我放了一个名为min的函数,用途是比较a,b两个参数,并反回他们中较小的那个。这个函数自己写一下。
当然,实现你要求的事情,有很多种方法去完成。我写的是最简洁的,两句解决问题。
你也可以写个for 语句,遍历数组,获得新的整数改插入到哪个索引位置。这是大多数人想得到的方法,你不妨试试看。
展开全部
#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]);
}
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]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例如:10个数以排好。现在又一个数要插入。那么原来的10个数有11个空位。所以这个数又11种排法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是在什么软件环境下进行这样的操作?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询