数据结构-怀化学院期末题(488)

顺序查找

题目描述:

实现顺序查找。要求查找给定的值在数据表中相应的存储位置。本题目假定所有的元素互不相同,并且要求查找顺序为从后往前查询。
输入:
输入包含若干个测试用例,第一行为测试用例个数k。每个测试用例占3行,其中第一行为元素个数n,第二行为n个元素值,即数据表中的元素,第三行为需要查找的元素。
输出:
对每一测试用例,分别用一行输出两个值,分别表示相应的位置和查找次数,用空格隔开。如果查找不成功,则位置表0表示。

输入样例:

1
5
2 4 1 7 9
7

输出样例;

4 2 

代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef pair 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;
}

 

你可能感兴趣的:(数据结构)