云裳容
2017-03-21 12:45
采纳率: 95.2%
浏览 3.1k
已采纳

数据结构顺序表查找操作

 Status LocateElem(SqList L,ElemType e,Status(*compare)(ElemType,ElemType))
{
    ElemType *p;
    int i=1;
    p = L.elem ;
    while(i<=L.length &&!compare(*p++,e))
        ++i;
    if(i<=L.length)
        return i;
    else
        return Error;
}
 Status(*compare)(ElemType,ElemType)

这个是什么意思,要执行这个子函数要怎么传值?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2017-03-21 12:55
    已采纳

    Status(*compare)(ElemType,ElemType)
    是用来比较的回调函数的函数指针。这个算法用来查找元素,但是比较的依据是可以让调用者自己定义一个函数来规定的

    已采纳该答案
    评论
    解决 2 无用
    打赏 举报
  • leolon_cn 2017-03-24 09:31

    Status(*compare)(ElemType,ElemType) 是LocateElem函数的一个函数指针类型的形参,变量compare就是函数指针,参数就是ElemType类型的参数

    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题