顺序查找
题目描述:
实现顺序查找。要求查找给定的值在数据表中相应的存储位置。本题目假定所有的元素互不相同,并且要求查找顺序为从后往前查询。
输入:
输入包含若干个测试用例,第一行为测试用例个数k。每个测试用例占3行,其中第一行为元素个数n,第二行为n个元素值,即数据表中的元素,第三行为需要查找的元素。
输出:
对每一测试用例,分别用一行输出两个值,分别表示相应的位置和查找次数,用空格隔开。如果查找不成功,则位置表0表示。
输入样例:
1
5
2 4 1 7 9
7
输出样例;
4 2?
代码:
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<map>
using namespace std;
typedef pair<int,int> PII;
const int N = 1e5 + 10;
int main(){
int k;
cin >> k;
while(k --){
int m;
int a[N];
int num;
cin >> m;
for(int i = 1;i <= m;i ++)
cin >> a[i];
cin >> num;
int flag = 0;
for(int i = m;i >= 1;i --){
if(a[i] == num){
cout << i << ' ' << m - i + 1 << endl;
flag = 1;
}
}
if(flag == 0) cout << 0 << " " << m << endl;
}
return 0;
}
?