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
因為這個題卡時間,所以在查詢的時候要用效率比較高的演算法,用二分法就ok了,再有這個題用g交wa,但是用g++交就ac了
#include#include#includetypedef struct
sqlist;
int initlist(sqlist *l)
void creat(sqlist *l,int n)
l->length = n;
}int found(sqlist *l,int low ,int high,int key)
return -1;
}int main()
return 0;
}
順序表應用6 有序順序表查詢
time limit 7ms memory limit 700k 順序表內按照由小到大的次序存放著n個互不相同的整數 1 n 20000 任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found 第一行輸入整數n,表示順序表的元素個數 ...
順序表應用6 有序順序表查詢
time limit 7ms memory limit 700k 有疑問?點這裡 順序表內按照由小到大的次序存放著n個互不相同的整數 1 n 20000 任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found 第一行輸入整數n,表示順...
順序表應用6 有序順序表查詢
time limit 7ms memory limit 700k 有疑問?點這裡 順序表內按照由小到大的次序存放著n個互不相同的整數 1 n 20000 任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found 第一行輸入整數n,表示順...