lozloz 发表于 2020-2-19 00:06:02

插入一个数,怎样才能让后面的数往后推一个空间


整数数组已经顺排了,在中间插入一个数,请问怎么才能实现呢?

void Sc_Insertnum(int *a,int n)
{
        int i=0;
        int num=0;
       
       
        for(i=0;a<n;i++)
        {
                if(a<n&&n<a)    //找到插入数的空间
                {
                        num=i+1;
                        break;
                }
        }
        for(num=i+1;num<10;num++)   //实现数组向右移动移动
        {
       

        }
       
}

SHRS23 发表于 2020-2-19 00:15:14

本帖最后由 SHRS23 于 2020-2-19 00:18 编辑

数据结构 链表 了解一下

链表的C语言实现网上很多资料

少量数据的的话你这样移动是可行的
大量数据的话就有点浪费时间了

如果实在想按照你的思路来
你可以试一下从数组的最后一位开始
将最后一位向后移
然后倒数第二移到原来的最后一位
重复这个过程

lozloz 发表于 2020-2-19 15:46:43

好的谢谢
页: [1]
查看完整版本: 插入一个数,怎样才能让后面的数往后推一个空间