PAT基礎題 4 13 折半查詢

2021-08-06 00:08:51 字數 909 閱讀 1368

給乙個嚴格遞增數列,函式int binsearch(seqlist t, keytype k)用來二分地查詢k在數列中的位置。

函式介面定義:

int binsearch(seqlist t, keytype k)

其中t是有序表,k是查詢的值。

裁判測試程式樣例:

#include

using

namespace

std;

#define maxlen 50

typedef

int keytype;

typedef

struct

elementtype;

typedef

struct

seqlist;

void creat(seqlist &l)

int binsearch(seqlist 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  binsearch(seqlist t, keytype k)

return 0;

}

PAT6 13 折半查詢

給乙個嚴格遞增數列,函式int search bin sstable t,keytype k 用來二分地查詢k在數列中的位置。函式介面定義 int search bin sstable t,keytype k 其中t是有序表,k是查詢的值。裁判測試程式樣例 include using namespa...

24,折半查詢

include 折半查詢 二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用...

6 2 2 折半查詢

折半查詢,又稱二分查詢,它適用於有序的順序表。基本思路是 首先將給定值key與表中中間位置元素的關鍵字比較,若相等,則查詢成功,返回該元素的儲存位置 若不等,則所需查詢的元素只能在中間元素以外的前半部分或後半部分中 例如,在查詢表公升序排列時,若給定值key大於中間元素的關鍵字,則所查詢的元素只可能...