用函式實現二分查詢法

2021-07-30 07:09:15 字數 819 閱讀 8213

#define _crt_secure_no_warnings 1

#include

#include

int select_(int arr, int key, int left, int right)//定義函式的返回值型別和函式的形參型別

else if (arr[mid] < key)

else

return mid;//返回值

}if (left>right)//如果左邊下標大於右邊下標,則篩選完畢,沒有找到,返回-1(返回值自己可以設定)

return -1;

}int select_(int arr, int key, int left, int right);

int main()

;int key;

printf("輸入你要查詢的數\n");

scanf("%d",&key);

int left = 0;//初始化左邊起始座標

int right = sizeof(arr) / sizeof(arr[0])-1;//陣列總位元組/單個元素的位元組,就是一共有多少個元素

int ret=select_(arr, key, 3, 8);//傳遞給函式的實參,要求在下標為3和8之間查詢你輸入的數字key

if (ret == -1)

printf("對不起,沒有找到!\n");

else

printf("恭喜你,找到啦!\n這個數的位置下標是%d\n", ret);

system("pause");

return 0;

主要為練習函式和陣列,此**有什麼問題和建議歡迎提出來

二分查詢法實現

查詢分為靜態查詢和動態查詢 靜態查詢主要包括順序查詢和二分查詢 折半查詢 順序查詢是我們常用的一種查詢方式,它有順序表的順序查詢和鍊錶的順序查詢,這兩部分在前面學習線性表時都有學習。二分查詢是一種針對有序表進行的查詢,其效率高,比較次數少。動態查詢是指可以對錶進行刪除和插入操作。主要以二叉排序樹為主...

java實現二分查詢法

二分查詢法 我把他理解為折半排除法,就是把查詢的範圍分為兩半,排除其中一半,把另一半再分成兩半,再排除一半,再分兩半,逐漸把範圍縮小,直到找到需要查詢的元素,或者判定沒有這個元素。使用二分查詢的前提是被查詢的是個有序的序列。以整數型一維陣列為例,查詢陣列中有沒有某個數字 package search...

java 實現二分查詢法

二分查詢又稱折半查詢,它是一種效率較高的查詢方法。二分查詢要求 1.必須採用順序儲存結構 2.必須按關鍵字大小有序排列。public class searchutils else if des srcarray middle else return 1 二分查詢 在一定範圍中查詢元素 param s...