这几天开始学习数据结构的顺序表,书中定义了一个操作:
int LocateElem(SqList L,ElemType e,Status(*compare)(ElemType,ElemType))
但我不知道compare是什么函数,如果不是库函数,需要自己定义么?在网上查阅了一些库函数大全也没找到,望高手指教。
谢谢!!
C语言只有字符数组有库函数strcmp函数进行比较,没有compare函数,这个是自定义的
这个就像一些回调函数一样,只是定义了函数的接口形式,具体实现需要你提供一个实现函数,符合接口形式的参数和返回值要求
比如列表有排序功能,但这个排序函数要你自己来实现,默认的排序可能不是你想要的。
这里的compare是一个意思,参数是两个元素,这两个元素的排序规则,由你提供的函数实现来完成
这个要自己实现的,那个只是参数,告诉你要传一个status function(ElemType,ElemType)这样一个函数给它,这个函数真正实现比较