3330 順序表應用6 有序順序表查詢

2021-07-11 20:32:35 字數 990 閱讀 7090

time limit: 7ms   memory limit: 700k  有疑問?點這裡^_^

順序表內按照由小到大的次序存放著n個互不相同的整數(1<=n<=20000),任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號;否則輸出「no found!"。

第一行輸入整數n,表示順序表的元素個數;

第二行依次輸入n個各不相同的有序整數,代表表裡的元素;

第三行輸入整數t,代表要查詢的次數;

第四行依次輸入t個整數,代表每次要查詢的數值。

輸出t行,代表t次查詢的結果,如果找到在本行輸出該元素在表中的位置,否則本行輸出no found!

10

1 22 33 55 63 70 74 79 80 87

455 10 2 87

4

no found!

no found!

10

因為之前是順序表,所以用二分查詢比較簡單
#includeusing namespace std;

typedef struct

list;

void creat(list &l,int n)

int display(list &l,int n)

{ int m,mid,low,high;

cin>>m;

low=0;

high=n-1;

while(low<=high)

{mid=(low+high)/2;

if(m>l.elem[mid])

low=mid+1;

else if(m>n;

list p;

creat(p,n);

cin>>t;

while(t--)

{x=display(p,n);

if(x==-1)

cout<<"no found!"<

3330 順序表應用6 有序順序表查詢

順序表應用6 有序順序表查詢 順序表內按照由小到大的次序存放著n個互不相同的整數,任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found input 第一行輸入整數n 1 n 100000 表示順序表的元素個數 第二行依次輸入n個各不...

SDUT 3330順序表應用6有序順序表查詢

問題描述 順序表內按照由小到大的次序存放著n個互不相同的整數,任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found 輸入 第一行輸入整數n 1 n 100000 表示順序表的元素個數 第二行依次輸入n個各不相同的有序非負整數,代表表...

SDUT 3330順序表應用6 有序順序表查詢

time limit 5ms memory limit 700k 順序表內按照由小到大的次序存放著n個互不相同的整數 1 n 20000 任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found 第一行輸入整數n,表示順序表的元素個數 ...