代码是不可能敲 发表于 2018-6-11 00:07:36

一个初学数据结构的菜鸟遇到的问题

typedef struct
{
        ElemType elem;
        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 = L.elem;
        }
        L.elem = e;
        L.last++;
        return 1;
}

代码是这样的,为啥在主函数里面添加插入函数的时候,只在函数里面能实现对数的插入,但是退出这个插入函数后,发现结果又没有改变???表示很懵呐求大神知道一下

BngThea 发表于 2018-6-11 08:40:32

函数应该传指针,这样才能修改main函数中的变量

不会编码 发表于 2018-6-11 11:06:02

int InsList(SeqList &L,int i,ElemType e)
如果你需要对数据结构的List进行修改,请加上引号&,如需是访问,不用添加。

代码是不可能敲 发表于 2018-6-11 13:08:26

BngThea 发表于 2018-6-11 08:40
函数应该传指针,这样才能修改main函数中的变量

好的我明白了   非常感谢{:5_92:}

代码是不可能敲 发表于 2018-6-11 13:18:56

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

好的 我明白啦谢谢啦{:5_109:}

小甲鱼. 发表于 2018-7-15 19:19:21

形式参数要用到引用型
页: [1]
查看完整版本: 一个初学数据结构的菜鸟遇到的问题