作业帮 > 综合 > 作业

C语言的compare函数是在哪里定义的?算法是什么?

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 17:55:32
C语言的compare函数是在哪里定义的?算法是什么?
我指的不是字符串比较,而是在数据结构中C语言描述中出现的在线性链表中查找满足条件的元素.
代码:
int LocateElement_L(Node *L,ElemType e,Status(*compare)(ElemType,ElemType))
{
Node *p;
int j;
p=L->next;
j=1;
while(p&&(*compare)(p->data,e))
{p=p->next;++j;}
if(!p)
return 0;
return j;
}
代码中的compare()函数在哪个头文件里.
注:源代码中并未定义该函数.
C语言的compare函数是在哪里定义的?算法是什么?
只有字符数组有库函数strcmp函数,格式如下:
int strcmp(const char *str1, const char *str2);
如果左边小于右边的字符串,函数返回-1
如果左边字符串等于右边字符串,函数返回0
如果左边字符串大于右边字符串,函数返回1
一般基本数据类型的比较都可以用关系运算符,如果自定义的可以重载运算符或者使用函数对象,如果用C语言的方式,自定义一个比较函数就OK了,库函数中没有这种普适类型的比较函数