Problem Description
顺序表内按照由小到大的次序存放着n个互不相同的整数(1<=n<=20000),任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序号;否则输出“No Found!"。
Input
第一行输入整数n,表示顺序表的元素个数;
第二行依次输入n个各不相同的有序整数,代表表里的元素;
第三行输入整数t,代表要查询的次数;
第四行依次输入t个整数,代表每次要查询的数值。
第二行依次输入n个各不相同的有序整数,代表表里的元素;
第三行输入整数t,代表要查询的次数;
第四行依次输入t个整数,代表每次要查询的数值。
Output
输出t行,代表t次查询的结果,如果找到在本行输出该元素在表中的位置,否则本行输出No Found!
Example Input
10 1 22 33 55 63 70 74 79 80 87 4 55 10 2 87
Example Output
4 No Found! No Found! 10
Author
#include <bits/stdc++.h>
using namespace std;
typedef struct
{
int *elem;
int len;
}sqlist;
void CreatList(sqlist &l,int n)
{
int i;
l.elem = new int[100001];
for(i=0;i<n;i++)
cin>>l.elem[i];
l.len=n;
}
int FundList(sqlist &l,int x)
{
int num=0;
int i,j,m,n,k,flag;
for(i=0;i<l.len;i++)
{
if(l.elem[i]==x)
{
num=i+1;
break;
}
}
return num;
}
int main()
{
sqlist l;
int i,j,k,m,n;
cin>>n;
CreatList(l,n);
cin>>m;
while(m--)
{
int code;
int x;
cin>>x;
code=FundList(l,x);
if(code==0)
cout<<"No Found"<<endl;
else
cout<<code<<endl;
}
return 0;
}