jaclsohu 2023-04-20 12:11 采纳率: 37.5%
浏览 14
已结题

关于#c++#的问题,请各位专家解答!


#include <stdio.h>
#define MaxSize 10

typedef struct{
    int *data;
    int length;
}SqList;

void InitList(SqList &L)
{
    L.length = 0;
}

bool ListDelete(SqList &L,int i,int &e) //i为位序; e为用来存放被删除的元素 
{
    if(i<1 || i>L.length)
        return false;
        
    e = L.data[i-1];
    for(int j =i;j<=L.length;j++)
    {
        L.data[j-1] = L.data[j];
        
    }
    L.length--;
    return true;
 } 

int main()
{
    SqList L;
    InitList(L);
    L.data[0] = 1;
    L.data[1] = 2;
    L.data[2] = 3;
    L.data[3] = 4;
    L.length = 4; 
    int del ;  // 用变量e,把删除值带回来
    bool ret = ListDelete(L,2,del);

    if(ret)
    {
        printf("%d\n",del);
    } 
     else
     {
         printf("位序i不合法,删除失败\n");
     }
    
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-04-20 13:08
    关注

    data只是一个指针,没有分配空间啊

    
    void InitList(SqList &L)
    {
        L.data = (int *)malloc(sizeof(int)*MaxSize);
        L.length = 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月20日

悬赏问题

  • ¥15 matlab矩阵复数本征值排序
  • ¥15 skynet MySQL ProtocolBuffers
  • ¥15 浏览器关闭事件有时没执行怎么回事
  • ¥15 使用docker安装chemex后无法启动
  • ¥15 关于#vue.js#的问题:word excel和ppt预览问题语言-javascript)
  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流