鱼C论坛

 找回密码
 立即注册
查看: 2658|回复: 5

[已解决]一个初学数据结构的菜鸟遇到的问题

[复制链接]
发表于 2018-6-11 00:07:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
typedef struct
{
        ElemType elem[MAXSIZE];  
        int last;                               
}SeqList;

SeqList List;       

int InsList(SeqList L,int i,ElemType e)
{
        if ((i < 1) || (i > L.last + 2))
        {
                printf("插入位置不合法\n");
                return 0;
        }
        if (L.last >= MAXSIZE)
        {
                printf("表已满,无法插入\n");
                return 0;
        }
        for (int k = L.last;k >= i - 1;k--)                //为插入元素移动位置
        {
                L.elem[k + 1] = L.elem[k];
        }
        L.elem[i - 1] = e;
        L.last++;
        return 1;
}

代码是这样的,为啥在主函数里面添加插入函数的时候,只在函数里面能实现对数的插入,但是退出这个插入函数后,发现结果又没有改变???表示很懵呐  求大神知道一下
最佳答案
2018-6-11 11:06:02
int InsList(SeqList &L,int i,ElemType e)
如果你需要对数据结构的List进行修改,请加上引号&,如需是访问,不用添加。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-11 08:40:32 | 显示全部楼层
函数应该传指针,这样才能修改main函数中的变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-6-11 11:06:02 | 显示全部楼层    本楼为最佳答案   
int InsList(SeqList &L,int i,ElemType e)
如果你需要对数据结构的List进行修改,请加上引号&,如需是访问,不用添加。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-6-11 13:08:26 | 显示全部楼层
BngThea 发表于 2018-6-11 08:40
函数应该传指针,这样才能修改main函数中的变量

好的  我明白了   非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-11 13:18:56 | 显示全部楼层
不会编码 发表于 2018-6-11 11:06
int InsList(SeqList &L,int i,ElemType e)
如果你需要对数据结构的List进行修改,请加上引号&,如需是访 ...

好的 我明白啦  谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-15 19:19:21 | 显示全部楼层
形式参数要用到引用型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 03:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表