如何在有序数组中插入一个数?如1,2,3,5,6中插入4?急等
1个回答
展开全部
从头逐一访问数组各元素
判断当前元素是否小于等于要插入的数
是:继续访问下一个数
否:记录位置退出循环
将记录元素开始到最后一个元素均向后移动复制1个元素位置,空出来的存放插入元素
程序:
#include<stdio.h>
#define MAXLEN 10
int fia(int *a,int n,int x) { int i,b;
for ( i=0,b=n;i<n;i++ ) if ( a[i]>x ) { b=i; break; }
n++;
for ( i=b;i<n;i++ ) { b=a[i]; a[i]=x; x=b; }
return n;
}
void main() { int a[N]={1,2,3,5,6},i,n=5;
n=fia(a,n,4); for ( i=0;i<n;i++ ) printf("%d ",a[i]); printf("\n");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询