Problem E: 编写函数:有序序列插入数据 之一 (Append Code)
Time Limit: 1 Sec Memory Limit: 16 MB
Submit: 17341 Solved: 4646
[Submit][Status][Web Board]
Description
已有一个按递增序排列的正整数序列Array,其中任意两个元素都不同。现要将一正整数Key插入到序列Array中,并且依然保持Array的递增序。在此过程中,按判定顺序有可能出现以下几种情况:
-
序列Array已经达到其容量上界;
-
序列Array中已经有与Key相等的元素存在;
-
序列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[]容量上限。根据题意描述的三种情况返回不同的值(你自己设计)。//呵!OJ!
原型: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 inse