問題描述:
順序表內按照由小到大的次序存放著n個互不相同的整數,任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號;否則輸出「no輸入:found!"。
第一行輸入整數n (1 <= n <= 100000),表示順序表的元素個數; 第二行依次輸入n個各不相同的有序非負整數,代表表裡的元素;輸出:第三行輸入整數t (1 <= t <= 100000),代表要查詢的次數; 第四行依次輸入t個非負整數,代表每次要查詢的數值。
保證所有輸入的數都在 int 範圍內。
輸出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
問題分析:
有序,直接二分查詢即可。ac**:
#include #include using namespace std;
#define n 100010
int binary_search(int l[n],int length,int target)
else if(l[middle] < target)
else
}return -1;
}int main()
cin>>t;
for(int i = 0; i < t; i++)
else
}}
SDUT 3330順序表應用6 有序順序表查詢
time limit 5ms memory limit 700k 順序表內按照由小到大的次序存放著n個互不相同的整數 1 n 20000 任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found 第一行輸入整數n,表示順序表的元素個數 ...
3330 順序表應用6 有序順序表查詢
time limit 7ms memory limit 700k 有疑問?點這裡 順序表內按照由小到大的次序存放著n個互不相同的整數 1 n 20000 任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found 第一行輸入整數n,表示順...
3330 順序表應用6 有序順序表查詢
順序表應用6 有序順序表查詢 順序表內按照由小到大的次序存放著n個互不相同的整數,任意輸入乙個整數,判斷該整數在順序表中是否存在。如果在順序表中存在該整數,輸出其在表中的序號 否則輸出 no found input 第一行輸入整數n 1 n 100000 表示順序表的元素個數 第二行依次輸入n個各不...