顺序查找
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:242 测试通过:161
总提交:242 测试通过:161
描述
实现顺序查找。要求查找给定的值在数据表中相应的存储位置。本题目假定所有的元素互不相同,并且要求查找顺序为从后往前查询。
输入
输入包含若干个测试用例,第一行为测试用例个数k。每个测试用例占3行,其中第一行为元素个数n,第二行为n个元素值,即数据表中的元素,第三行为需要查找的元素。
输出
对每一测试用例,分别用一行输出两个值,分别表示相应的位置和查找次数,用空格隔开。如果查找不成功,则位置表0表示。
样例输入
1
5
2 4 1 7 9
7
5
2 4 1 7 9
7
#include<iostream>
#include<string.h>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int t,flag=0,k,key,num=0;
cin>>t;
int data[100];
memset(data,0,sizeof(data));
for(int i=1;i<=t;i++)
cin>>data[i];
cin>>key;
for(int i=t;i>=1;i--)
{
if(data[i]==key)
{
// num++;
k=i;
flag=1;
break;
}
}
if(flag==1)
cout<<k<<" "<<t-k+1<<endl;
else
cout<<0<<" "<<t<<endl;
}
return 0;
}
题目来源