語言要求使用c++,然後發現用c語言的格式也可以過,嗯~ o( ̄▽ ̄)o這大概就是相容吧折半查詢還是很套路的,大概就是定義好mid,low,high三個變數,設定乙個while迴圈,讓它們不斷縮小範圍。一開始的high設定下標應該是length-1,不過測試的時候寫的length也通過了。不過既然是位置嘛,下標還是要減一下的。
給乙個嚴格遞增數列,函式int search_bin(sstable t, keytype k)用來二分地查詢k在數列中的位置。函式介面定義: int search_bin(sstable t, keytype k) 其中t是有序表,k是查詢的值。
裁判測試程式樣例:
#include
using namespace std;
#define maxsize 50
typedef
int keytype;
typedef
struct
elemtype;
typedef
struct
sstable;
void
create
(sstable &t)
intsearch_bin
(sstable t, keytype k)
;int main (
)
/* 請在這裡填寫答案 */ 輸入格式: 第一行輸入乙個整數n,表示有序表的元素個數,接下來一行n個數字,依次為表內元素值。然後輸入乙個要查詢的值。
輸出格式: 輸出這個值在表內的位置,如果沒有找到,輸出"not found"。
輸入樣例: 5 1 3 5 7 9 7 輸出樣例: 4 輸入樣例: 5 1 3 5 7 9 10 輸出樣例: not found
int
search_bin
(sstable t, keytype k)
else
if(k>t.r[mid]
.key)
else
}return0;
}
6 13 折半查詢 15 分
include using namespace std define maxsize 50 typedef int keytype typedef struct elemtype typedef struct sstable void create sstable t 方法1,int search ...
6 13 折半查詢
給乙個嚴格遞增數列,函式int search bin sstable t,keytype k 用來二分地查詢k在數列中的位置。函式介面定義 int search bin sstable t,keytype k 其中t是有序表,k是查詢的值。裁判測試程式樣例 include using namespa...
基礎題目集 6 13 折半查詢 15分
函式介面定義 int search bin sstable t,keytype k 其中t是有序表,k是查詢的值。裁判測試程式樣例 include using namespace std define maxsize 50 typedef int keytype typedef struct ele...