#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;
}
关于#c++#的问题,请各位专家解答!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 快乐鹦鹉 2023-04-20 13:08关注
data只是一个指针,没有分配空间啊
void InitList(SqList &L) { L.data = (int *)malloc(sizeof(int)*MaxSize); L.length = 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥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#加载本地摄像头进行逐帧推流