二分搜尋(折半查詢)
二分搜尋(折半查詢)
虛擬碼
function BinarySearch(List,key) {
left = 0,right = Lis.length - 1
while left <= right
mid = (left + right) / 2
if List[mid] is key
return mid
if List[mid] < key
left = mid + 1;
else
right = mid -1;
}
程式碼
#include <stdio.h>
int BinarySearch(int numbers[],int len,int key)
{
int left=1,right=len;
int mid;
while(left <= right){
mid=(left+right)/2;
if(numbers[mid]==key)
return mid;
else if(numbers[mid]<key)
left = mid+1;
else
right = mid-1;
}
return 0;
}
int main() {
int N;
int K;
int m;
int numbers[1000001];
// 反覆讀入數字和查詢數字的數量
while (scanf("%d%d", &N, &K) != EOF) {
for (int i = 1; i <= N; i++)
scanf("%d", &numbers[i]);
for (int j = 0; j < K; j++) {
scanf("%d", &m);
printf("%d",BinarySearch(numbers,N,m));
if(j!=K-1)
printf(" ");
}
}
return 0;
}
相關文章
- 【資料結構】折半查詢(二分查詢)資料結構
- 二分查詢【折半查詢】演算法 PHP 版演算法PHP
- Python之 常用查詢演算法:最小項搜尋、順序搜尋、二分搜尋Python演算法
- 搜尋/查詢
- 陣列的查詢(搜尋):線性查詢和二分法查詢陣列
- 查詢之折半查詢
- 二分搜尋樹系列之[查詢(Search)-包含(Contain)]AI
- 二分搜尋樹系列之「查詢(Search)-包含(Contain)」AI
- 折半搜尋學習筆記筆記
- 查詢與排序02,折半查詢排序
- 轉:C++實現的變種二分查詢法(折半查詢)--二叉查詢樹C++
- C語言折半查詢C語言
- java實現折半查詢。Java
- ubuntu 終端內查詢/搜尋Ubuntu
- 二分查詢和折半插入排序一塊說說-很合適~~~排序
- 折半查詢(C++實現)C++
- 泛型化的折半查詢泛型
- 查詢——二分查詢
- #查詢演算法#【1】簡單查詢:順序、折半查詢演算法
- 06 二分搜尋--ing
- 折半查詢排序樹畫圖和排序
- 演算法-->折半查詢(快排)演算法
- 正確的折半查詢實現
- 折半查詢法的平均查詢長度(成功/失敗)
- #演算法#二分搜尋演算法
- 二分查詢(一)——純粹的二分查詢
- PostgreSQL實時高效搜尋-全文檢索、模糊查詢、正則查詢、相似查詢、ADHOC查詢SQL
- Python查詢-二分查詢Python
- 二分查詢
- Elasticsearch 結構化搜尋、keyword、Term查詢Elasticsearch
- 唱片查詢管理搜尋軟體:Full Discography for MacMac
- Facebook推出全站搜尋功能:查詢資訊更方便
- 二分搜尋樹元素的插入
- 查詢演算法__二分查詢演算法
- 順序查詢和二分查詢
- bt引擎-螞蟻磁力搜尋教程大全,如何使用搜尋引擎查詢磁力連結
- 資料結構 折半查詢 swift的版本資料結構Swift
- PHP二分查詢PHP