使用C语言怎么实现一个模糊搜索功能

  介绍

使用C语言怎么实现一个模糊搜索功能吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

//模糊搜索判断是否符合筛选条件   int  result_mohu (const  gchar *,钥匙,char *, str)   {   ,typedef 结构   {才能   ,,,char 儿子[11];   ,,}元素;   int 才能;i, j, k=0, l=0, m=0;//f=1才能为符合筛选条件   int 才能;f=0;   ,//N1为str的长度,N2为str连续子串的个数   ,int  N1=0, N2=0;   ,N1=strlen (str);   ,/*计算连续子串的个数*/,(i=1; i<=N1;我+ +)   N2 +=我才能;/*才能计算连续子串的个数*///我才能控制子字符串的长度//j才能控制赋值//k才能控制新的线性结构b的下标//l才能控制子数组的首项在原数组中的位置//m才能控制即将用作赋值的str的下标   Element 才能;* b=malloc (sizeof(元素)* N2);   ,,(i=1; i<=N1;我+ +)   {才能   ,,,l=0;   ,,,/*而循环内为给一个子字符串数组赋值*/,,,,(1)   ,,,,,{   ,,,,,m=l;   ,,,,,,(j=0; j

若返回值f=1则表示符合筛选条件,即查询对象含有包含关键词的片段。最为关键的循环就是按照子字符串的长度从1到N1(查询对象字符串的长度)。

以下片段为遍历代码,可看可不看,核心算法都在上面。注:博主实现模糊搜索的环境是linux系统下的gtk开发。

//按学号查找界面的& lt;查找比;   void  on_button_idsearch_clicked (GtkObject *,部件,gpointer  user_data)   {   ,int 我;   ,int  f=0;   ,GtkTreeIter  iter;   ,//获取搜索关键字   ,const  gchar *, keywords =, gtk_entry_get_text (entry_search_id);   ,gtk_list_store_clear (liststore2);   ,(i=0; i< size1;我+ +)   如果才能(result_mohu(关键词,stu1[我].id)==1)   ,,{,,,   ,,,gtk_list_store_append (liststore2,和iter);   ,,,gtk_list_store_set (liststore2,和iter 0 stu1[我]暧昧不明,1);   ,,,gtk_list_store_set (liststore2,和iter 1 stu1[我].id, 1);   ,,,gtk_list_store_set (liststore2,和iter 2 stu1[我]. name, 1);   ,,,gtk_list_store_set (liststore2,和iter 3 stu1[我].math, 1);   ,,,gtk_list_store_set (liststore2,和iter 4 stu1[我].c_language, 1);   ,,,gtk_list_store_set (liststore2,和iter 5 stu1[我].daolun, 1);   ,,,gtk_list_store_set (liststore2,和iter 6 stu1[我].english, 1);   ,,,gtk_list_store_set (liststore2,和iter 7 stu1[我].pe, 1);   ,,,gtk_list_store_set (liststore2,和iter 8 stu1[我].history, 1);   ,,,gtk_list_store_set (liststore2,和iter 9 stu1[我].daoyuan, 1);   ,,,gtk_list_store_set (liststore2,和iter 10 stu1[我].banzhuren, 1);   ,,,gtk_list_store_set (liststore2,和iter 11 stu1[我].score_classmate, 1);   ,,,gtk_list_store_set (liststore2,和iter 12 stu1[我].sum, 1);   ,,,f=1;   ,,}   ,如果(f==0)   gtk_widget_show才能(GTK_WIDGET (window_noresult));   } C语言是什么

C语言是一门面向过程的,抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译,处理低级存储器。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

使用C语言怎么实现一个模糊搜索功能