首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

数据结构顺序表有关问题 求解 !(C++)

2012-10-13 
数据结构顺序表问题 求解 !!!(C++)int LocateElem(SqList L, ElemType e, Status(*compare)(ElemType, Ele

数据结构顺序表问题 求解 !!!(C++)
int LocateElem(SqList L, ElemType e, Status(*compare)(ElemType, ElemType))  
 { // 初始条件:顺序线性表L已存在,compare()是数据元素判定函数(满足为1,否则为0)
  // 操作结果:返回L中第1个与e 满足关系compare()的数据元素的位序。
  // 若这样的数据元素不存在,则返回值为0。算法2.6
  ElemType *p;
  int i=1; // i的初值为第1个元素的位序
  p=L.elem; // p的初值为第1个元素的存储位置
  while(i<=L.length && !(*compare)(*p++,e))
  ++i;
  if(i<=L.length)
  return i;
  else
  return 0;
}

void ListUnion(SqList &La,SqList &Lb) 

int La_len, Lb_len,i;
ElemType e;
La_len=ListLength(La);
  Lb_len=ListLength(Lb);
  for(i=1;i<=Lb_len;i++)
 {  
  GetElem(Lb, i, e);
  if (!LocateElem(La,e,equal))
 ListInsert(La,++La_len,e);
  }
}

在ListUnoin函数中调用了LocateElem函数,编译时发现错误指向  
 if (!LocateElem(La,e,equal))
说是equal未定义
请问大虾们这个应该怎么解决?

[解决办法]
那就定义equal变量并初始化它先。
[解决办法]
如果Status的定义是这样的话
typedef int Status;
那你就定义一个equal全局函数。

C/C++ code
Status equal( ElemType a, ElemType b ){    if( a==b )         return 1;    else         return 0;} 

热点排行