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;
}
Status(*compare)(ElemType,ElemType))
这个看不懂?
compare函数代码怎么写
追答这个要根据你代码的需要或者题目要的要求来写了,比如:compare(int a,int b)可以是比较a与b的大小,满足a>b反回1,否则返回0;也可以是a=b反回1,否则返回0;等等。。。需要怎么写就怎么写了!