C 折半查詢法練習

2021-07-09 08:37:03 字數 548 閱讀 5078

#include using namespace std;

int main()

;cout << "輸入個要查詢的數: ";

cin>>x;

for (left=0,right=n-1;left<=right;)

{ middle=(left+right)/2;

if (x==a[middle])

break;

else if (x以下內容來自網路

原理:類似於二分法解方程,二分查詢首先比對序列中間的數是否是要找的數,如果不是,由於是有序數列,則看其在左側區間還是右側區間,捨棄不在的那一半區間,然後在剩餘的區間重複剛才的辦法,直到找到該數,由於每次捨棄一半的資料量,所以查詢效率較高。

描述:設三個變數 left,right,middle分別為序列的兩側下標和中間下標,當判斷出不在左側區間,則 left=middle+1 ,從而利用右側一半構造出乙個新區間,否則 right=middle-1,利用左邊一側構造新區間,然後重複剛才過程,如此下去,要麼找到資料,要麼left>right,此時也應該停止查詢,說明序列中沒有該數。

C語言折半查詢法

include int find int x,int y,int n int main void int a int b 12 int f f find b,a,c if f 1 printf can not find element b in arry a n else printf find e...

折半查詢法

折半查詢法 include include int binsearch int x,int v,int n return 1 int main scanf d x scanf d n x 2 n 7 position binsearch x,v,n 呼叫函式時,不要再引數的型別,陣列v,用v代替就好...

折半查詢法

輸出檔案 輸出檔案 half.in half.out 大魔導師培根曾經說過 讀史使人明智,讀詩使人聰慧,演算使人精密,哲理使人深刻,倫理學使人有修養,邏輯修辭使人善辯。由此可見書籍的重要性是不言而喻的。而與書籍天天打交道的圖書管理員,更是奪天地之造化,吸日月之精華的 神之職業 據史料記載,魔法世界從...