C语言简单指针
已有一个按递增序排列的正整数序列Array,其中任意两个元素都不同。现要将一正整数Key插入到序列Array中,并且依然保持Array的递增序。在此过程中,按判定顺序有可...
已有一个按递增序排列的正整数序列Array,其中任意两个元素都不同。现要将一正整数Key插入到序列Array中,并且依然保持Array的递增序。在此过程中,按判定顺序有可能出现以下几种情况:
1. 序列Array已经达到其容量上界;
2. 序列Array中已经有与Key相等的元素存在;
3. 序列Array既没有满,也没有与Key相等的元素,则Key可以插入序列Array之中,应获得其Key插入序列Array后所在的下标(从0开始)。
主函数
int main()
{
int array[MAX_SIZE], cases, i, key;
scanf("%d", &cases);
for(i = 1; i <= cases; i++)
{
getarray(array);
scanf("%d", &key);
result(insert(array, key, MAX_SIZE - 1));
}
return 0;
} 展开
1. 序列Array已经达到其容量上界;
2. 序列Array中已经有与Key相等的元素存在;
3. 序列Array既没有满,也没有与Key相等的元素,则Key可以插入序列Array之中,应获得其Key插入序列Array后所在的下标(从0开始)。
主函数
int main()
{
int array[MAX_SIZE], cases, i, key;
scanf("%d", &cases);
for(i = 1; i <= cases; i++)
{
getarray(array);
scanf("%d", &key);
result(insert(array, key, MAX_SIZE - 1));
}
return 0;
} 展开
2个回答
展开全部
#incude<stdio.h>
void main()
{
int a[1000],nn,n,x,i,j;
scanf("%d",&nn);
for ( i=0;i<nn;i++ )
{
n=0; while ( n<1000 ) { scanf("%d",&a[n]); if ( a[n] ) n++; else break; }
scanf("%d",&x);
for ( j=0;j<n;j++ ) if ( a[j]>=x ) break;
if ( n==1000 ) printf("The array is full!\n");
else if ( a[j]==x ) printf("The key is already in this array!\n");
else printf("The key is inserted in position %d.\n",j);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询