C语言:在有序数组中插入一个数,使插入后数组仍然有序。

 我来答
阳顶天鹿鼎记
推荐于2016-02-07 · TA获得超过502个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:407万
展开全部
#include<stdio.h>
#define size 20
int findposition(int x[],int N,int data);
int insert(int x[],int N,int data,int pos);
int main()
{
 int a[size],i,N,d=50;
 printf("input a length:");
 scanf("%d",&N);
 printf("input a array:");
 for(i=0;i<N;i++)
 scanf("%d",&a[i]);
 N=insert(a,N,d,findposition(a,N,d));
 printf("after insert:");
 for(i=0;i<N;i++)
 printf("%d\n",a[i]);
 return(0);
}
int findposition(int x[],int N,int data)
{
 int i;
 for(i=0;(i<N)&&(data>x[i]);i++);
 return(i);
}
 int insert(int x[],int N,int data,int pos)
{
 int i;
 for(i=N-1;i>=pos;i--)
{
    x[i+1]=x[i];
}
 x[pos]=data;
return(N+1);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式