C 入門手寫折半查詢

2021-10-14 15:41:49 字數 595 閱讀 9863

折半查詢由於其實現原理所限制,因此使用它必須保證要查詢的資料是有序的

/* note:your choice is c ide */

#include "stdio.h"

#define max 100

struct slist

;//折半查詢 傳 順序表指標 要查詢的元素

// 返回值 -1 查詢失敗

//按照從小到大 寫的

int search(struct slist *s,int key)

//如果中間值大於要找的值

else if(s->a[mid]

>key) //去mid前面查詢

//如果中間值小於要找的值

else

}return -1;//查詢失敗

}void main(

) printf(

"請輸入要查詢的元素:");

scanf(

"%d",&key)

; k=search(

&s,key)

; if(k==-1)

else

}

折半查詢(演算法競賽入門)

二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好,占用系統記憶體較少 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位...

折半查詢(C語言)

如果所有數字按照某種順序排列好就可以每次用中間位置的數字和要查詢的數字做對比,這樣一次可以排除一半的數字。不斷重複這個過程就可以很快找到目標數字的位置。折半查詢 include int half search const int p start,constint p end,int num else...

折半查詢(C語言)

題目 有15個資料由小到大順序存放在乙個陣列中,輸入乙個數,要求使用折半查詢法查詢該數是陣列中的第幾個元素 如果該數不存在,則輸出,沒有此數 有15個資料由小到大順序存放在乙個陣列中,輸入乙個數,要求使用折半查詢法查詢該數是陣列中的第幾個元素 如果該數不存在,則輸出,沒有此數 include def...