永发信息网

Problem I: 编写函数:有序序列插入数据 已有一个按递增序排列的正整数序列Array

答案:1  悬赏:40  手机版
解决时间 2021-03-08 20:58
Problem I: 编写函数:有序序列插入数据 已有一个按递增序排列的正整数序列Array,其中任意两个元素都不同。现要将一正整数Key插入到序列Array中,并且依然保持Array的递增序。在此过程中,按判定顺序有可能出现以下几种情况:1. 序列Array已经达到其容量上界;2. 序列Array中已经有与Key相等的元素存在;3. 序列Array既没有满,也没有与Key相等的元素,则Key可以插入序列Array之中,应获得其Key插入序列Array后所在的下标(从0开始)。编写函数getarray()、insert()和result():原型:int getarray(int array[]);功能:按输入格式读取一个序列,存放到整型数组array[]里。原型:int insert(int array[], int key, int vol);功能:将key插入到整型数组array[]里,vol是array[]容量上限。根据题意描述的三种情况返回不同的值(你自己设计)。原型:int result(int flag);功能:结合insert()函数的返回值,根据输出格式和参数flag,产生不同的输出。函数的调用格式见“Append Code”。Input输入的一个数是M,表示后面有M组测试数据。每组测试数据有两部分组成:2行输入。第一部分是序列Array中的元素,最多不超过1000个,当读到0时表示序列输入结束。第二部分是一个正整数key。Output输出为M行,每一行代表上述每一组输入的插入结果。其中:如果存放序列的数组已满,则输出:“The array if full!”如果序列中已经有Key,则输出:“The key is already in this array!”如果Key可以插入Array,则输出:“The key is inserted in position x”. 其中x是Key插入数组后的下标。Sample Input31 2 3 021 2 4 5 6 7 8 9 10 031 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
最佳答案
#include

#include
#define MAX_SIZE 1000
void getarray(int array[])
{
int i= 0;
for(i = 0; i < MAX_SIZE; i++)
{
scanf("%d",&array[i]);
if(array[i] == 0)
break;
}
;
}
int insert(int array[],int key,int vol)
{
int i, j;
for(i=0;i if(!array[i])
break;
if(i == vol)
return -1;
for(j=0;j if(array[j]==key)
return -2;
else
if(array[j]>key) break;
return j;
}
int result(int flag)
{
if(flag==-1)
printf("The array if full!\n");
else if(flag==-2)
printf("The key is already in this array!\n");
else
printf("The key is inserted in position %d\n", flag);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
果园村村民委员会我想知道这个在什么地方
以清热燥湿、调和气血为主要功用的方剂是()A.
我在做韩代,怎么能让更多的人知道啊?
怎样在微信中建个人相册
齐刘海,黑长直,想把齐刘海换掉因为有点幼稚
有没有男明星名字是帕字开头的
同弓小学地址有知道的么?有点事想过去
手机如何办理支付宝
yum安装php之后 怎么安装扩展
中国移动诚信手机专卖店地址在什么地方,想过
水电开槽怎样才能开得很直
18岁以下可否办理银行卡(储蓄卡),如果可以
【盘算的意思】盘算的意思是神马?少一点
有一个男的一直在追我追了六七个月,花送了三
为啥有的人生下来就有钱
推荐资讯
月经周期中的激素变化正确的是A.排卵前36小时
北京城市青年酒店
和神经病女人离婚可以退财礼钱吗?她每天晚上
安卓上除了有道词典还有什么好用的词典
天天炫舞里的花园怎么培育花朵?
瑞典留学需要学瑞典语吗
用VB获取外部程序List1的item内容
明佳百货商店地址在什么地方,想过去办事
和旭里小区这个地址在什么地方,我要处理点事
怎么区分野生蝎和家养蝎
一个教室长10米,宽6米,5米,这个教室的空间有
御龙在天绿色服也烧钱么。比普通服呢。求详解
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?