回 帖 发 新 帖 刷新版面

主题:关于更新线性表的问题

更新线形表中具有给定值的元素

bool Update(List& L,const ElemType& item)
{
for(int i=0;i<L.size;i++)
if(L.list[i]==item)
{
L.list[i]=item;
}
return flase;
}
有个问题不明白 既然if语句中L.list[i]的值和item都相等了
那还更新什么?

回复列表 (共5个回复)

沙发

我觉得这个函数没什么作用,可以不要

板凳

我觉得应该是返回语句。。return();
你看呢。。

3 楼

不是吧
教材是这么写的

4 楼

没人能解释了么?

5 楼


可能ElemType是结构或类,
结构或类中有多个成员变量,并且重载了==,=
而判断相等是判断其中部分成员相等,
更新的就是其它的成员.
比如类下面的类A,判断两个类相等只用了a,而b可能不等
这时更新才有意义.

class A {
private :
    int a;
    char b;
public :
    A& operator == (const A& x)
    { return a==x.a}
};

我来回复

您尚未登录,请登录后再回复。点此登录或注册