1775 遞迴 二分查詢

2021-10-08 21:23:34 字數 638 閱讀 1283

上機練習6.3.7 用遞迴演算法實現二分查詢,即:有n個已經從小到大排序好的資料(不重複),從鍵盤輸入乙個數x,用對半查詢方法,判斷它是否在這n個數中。

第一行,正整數n,n<=105;

第二行,n個整數(int範圍內,不重複),中間用空格分隔;

第三行,整數x。

如果找到x,輸出其位置;否則輸出-1。
10

10 20 30 40 50 60 70 80 90 100

90

9
基本演算法-遞迴

#include

using

namespace std;

intbinarysearch

(int a,

int l,

int r,

int v)

if(a[mid]

}int

main()

cin>>value;

cout<<

binarysearch

(a,1

,n,value)

}

二分查詢(遞迴)

二分查詢 problem description 給出含有n個數的公升序序列,保證序列中的數兩兩不相等,這n個數編號從1 到n。然後給出q次詢問,每次詢問給出乙個數x,若x存在於此序列中,則輸出其編號,否則輸出 1。input 單組輸入。首先輸入乙個整數n 1 n n 3000000 接下的一行包含...

二分查詢(遞迴)

1.問題描述 給定乙個排好序的整型陣列和乙個給定的數字,找到陣列中比給定數字稍微大一點的那個位置,假如沒有找到返回 1 2.思路分析 由題目中我們可以知道陣列是排好序的,那麼我們可以使用二分查詢來找到這個位置,在遞迴的方法中我們需要傳入的引數有陣列的已知陣列,起始位置,結束位置,和給定的目標數字 在...

二分查詢 遞迴

二分查詢對1 100亂序數字查詢 l list range 1 101 defbin search data set,val low 0 high len data set 1 while low high mid low high 2 if data set mid val return mid ...