c语言实现向有序数组中插入一个数并保持有序
时间:2020-05-08 13:37
算法思想: 从头开始遍历找到第一个大于element的数,然后插入数字,后面的元素依次移动。 实例代码: 推荐教程:c语言教程 以上就是c语言实现向有序数组中插入一个数并保持有序的详细内容,更多请关注gxlsystem.com其它相关文章!#include<stdio.h>//直接插入排序
void insert_array(int *a,int length,int element)//插入函数 往有序的数组a里插入值为element的元素使数组a依然有序
{
int i,j,t,f;
for(i=0;i<length;i++)
{
if(a[i]>element)
{
t=i;//找到位置以后 可以依次移动数组元素腾出位置了
for(j=length;j>=t;j--)
{
if(j==t)
a[j]=element;
else
a[j]=a[j-1];//数组依次往后移动 不管正序还是倒序都可以
}
f=1;
break;
}
}
if(f!=1)//当element大于所有数组元素时候
{
a[length]=element;
}
for(i=0;i<length+1;i++)
{
printf("%d ",a[i]);
}
}
int main()
{
int a[5]={1,2,3,5,6};
int e=7;
insert_array(a,5,e);
}