通用搜索函数

来源:互联网 发布:淘宝开店页面 编辑:程序博客网 时间:2024/06/05 11:12
#include <stdio.h>#include <string.h>int isearch(void *,void *,int,int,int (*cmp)(void *,void *));int strc(void *s1,void *s2);int main(void){char *s[]={"a","b","c","d","e"};char *to="d";int ret=12;ret=isearch(&to,&s,5,sizeof(char*),strc);//关键&to,&sprintf("第%d个元素与key相同\n",ret);return 0;}int isearch(void *key,void *arry,int n,int elemsize,int (*cmp)(void *,void *)){   int i=0;for(i=0;i<n;i++){void *next=(char*)arry+i*elemsize;if(cmp(&key,&next)==0)//关键&key,&nextreturn i;}return 1;} int strc(void *s1,void *s2){char *str1=*(char**)s1;char *str2=*(char**)s2;return strcmp(str1,str2);}