使用C語言怎么實現(xiàn)一個模糊搜索功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)是專業(yè)的大廠網(wǎng)站建設(shè)公司,大廠接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行大廠網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
//模糊搜索判斷是否符合篩選條件 int result_mohu(const gchar* key,char* str) { typedef struct { char son[11]; }Element; int i,j,k=0,l=0,m=0; //f=1為符合篩選條件 int f=0; //N1為str的長度 N2為str連續(xù)子串的個數(shù) int N1=0,N2=0; N1=strlen(str); /*計算連續(xù)子串的個數(shù)*/ for(i=1;i<=N1;i++) N2+=i; /*計算連續(xù)子串的個數(shù)*/ //i控制子字符串的長度 //j控制賦值 //k控制新的線性結(jié)構(gòu)b的下標 //l控制子數(shù)組的首項在原數(shù)組中的位置 //m控制即將用作賦值的str的下標 Element *b=malloc(sizeof(Element)*N2); for(i=1;i<=N1;i++) { l=0; /*while循環(huán)內(nèi)為給一個子字符串?dāng)?shù)組賦值*/ while(1) { m=l; for(j=0;j若返回值f=1則表示符合篩選條件,即查詢對象含有包含關(guān)鍵詞的片段。最為關(guān)鍵的循環(huán)就是按照子字符串的長度從1到N1(查詢對象字符串的長度)。
以下片段為遍歷代碼,可看可不看,核心算法都在上面。注:博主實現(xiàn)模糊搜索的環(huán)境是linux系統(tǒng)下的gtk開發(fā)。
//按學(xué)號查找界面的<查找> void on_button_idsearch_clicked(GtkObject* widget,gpointer user_data) { int i; int f=0; GtkTreeIter iter; //獲取搜索關(guān)鍵字 const gchar* keywords = gtk_entry_get_text(entry_search_id); gtk_list_store_clear(liststore2); for(i=0;iC語言是什么
C語言是一門面向過程的、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā),使用C語言可以以簡易的方式編譯、處理低級存儲器。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
新聞名稱:使用C語言怎么實現(xiàn)一個模糊搜索功能
網(wǎng)站路徑:http://weahome.cn/article/ihccsg.html