dzkjdx-fw
2021-09-18 08:53
采纳率: 100%
浏览 48

用c语言编写插入算法

编写算法,在一个有5个元素的顺序表中,在元素值为x的元素后,连续插入两个新元素

  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • CSDN专家-link 2021-09-18 08:54
    已采纳

    将x之后的值都后移两位,然后将新值写入x的后两位

    typedef struct _seqlist
    {
          int data[100];
          int n;
    }seqlist;
    seqlist s;
    s.n = 0;
    void insert(int x,int a,int b)
    {
        for(int i=0;i<s.n;i++)
        {
                if(s.data[i] == x)
                {
                        for(int j=s.n+1;j>i+1;j--)
                              s.data[j] = s.data[j-2];
                        s.data[i] = a;
                        s.data[i+1] = b;
                        s.n += 2;
                        break;
                }
        }
    }
    int main()
    {
            for(int i=0;i<4;i++)
                s.data[s.n++] = i;
            insert(3,10,20);
            return 0;
    }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • CSDN专家-Fay 2021-09-18 08:54

    可以使用链表结构,编写链表,然后根据位置插入数据
    也可以使用数组,总之先确定主体结构,再编写插入方法

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题