Linux洗C語言基礎程式設計 折半查詢法

2021-07-23 09:25:39 字數 835 閱讀 8434

今天我們寫乙個選擇法排序與折半查詢法相結合的程式。主要實現先排序在查詢。前面我們已經詳細的講過了選擇排序法,現在我們來說下折半查詢法

折半查詢法的主要思想是 number與mid的比較

mid = (butt+top)/2

如果number大於mid,則top = mid+1;

如果number小於mid,則butt = mid-1;

下面附上我的**,如有不合理的地方,請指正!

#include #define n 15

void binsearch(int a[n])/*折半查詢*/

while((!sign) && (top <= but))

else if(num > a[mid])

else

}if(!sign || loca == -1)

printf("continue or no [y/n]:\n");

scanf(" %c",&c);

if(c == 'n' || c == 'n')

}}void choicearrange(int a[n])/*選擇法排序*/

} if(k != i)

}}int main()/*主函式*/

choicearrange(a);

for(i = 0 ;i < n; i++)

printf("\n");

binsearch(a);

return 0;

}

程式執行結果見下圖:

Linux程式設計筆記 C語言基礎

i b 去年學習linux時的部分筆記,淺顯易懂,比較簡單 b i a是65 include main include define pi 3.14159 main include main printf,scanf不是保留字 getchar 函式,輸入字元,程式被中斷,等待使用者輸入 putcha...

Linux下C語言程式設計基礎 Makefile

假設我們有下面這樣的乙個程式,源 如下 main.c include mytool1.h include mytool2.h int main int argc,char argv mytool1.h ifndef mytool 1 h define mytool 1 h void mytool1 ...

折半查詢(C語言)

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