dzkjdx-fw
2021-09-18 14:28
采纳率: 100%
浏览 33

用C语言编写顺序表删除算法

麻烦大佬敲一下具体的代码
1.删除一个有10个元素的顺序表的最后3个元素
2.删除一个有10个元素的顺序表的前3个元素

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • CSDN专家-link 2021-09-18 14:34
    已采纳

    你不会写啊,思路不是给你了么

    #define MAXSIZE 1000
    typedef struct _seqlist
    {
        int data[MAXSIZE];
        int len;
    }seqlist;
    
    void create(seqlist &s)
    {
          for(int i=1;i<=10;i++)
             s.data[s.len++] = i;
    }
    void removelast3(seqlist &s)
    {
        if(s.len >= 3)
          s.len -= 3;
    }
    void removefirst3(seqlist &s)
    {
          if(s.len < 3)
                return;
          for(int i=3;i<s.len;i++)
              s.data[i-3] = s.data[i];
          s.len -= 3;
    }
    void print(seqlist &s)
    {
        for(int i=0;i<s.len;i++)
            printf("%d ",s.data[i]);
        printf("\n");
    }
    
    int main()
    {
         seqlist s;
         s.len = 0;
         create(s);
         print(s);
         removelast3(s);
         print(s);
         removefirst3(s);
         print(s);
        return 0;
    }
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报