题目描述
建立一个长度为n的带头结点的单链表,在该表中寻找第i个结点,若找到,则输出ok,否则输出error。处理数据类型为整型。
输入
第一行为链表的长度n; 第二行为链表中的数据元素; 第三行为要找的结点i。
输出
找到就输出ok,没找到就输出error。
样例输入复制
10 1 2 3 4 5 6 7 8 9 10 5
样例输出复制
ok
代码
#include<iostream>
#include<list>
#include<algorithm>
using namespace std;
int main()
{
list<int> List;
int n;
int m;//要找的结点;
cin >> n;
int arr[1000];
for(int i=0;i<n;i++)
{
cin >> arr[i];
List.push_back(arr[i]);
}
cin >> m;
list<int>::iterator iter;
iter = List.begin();
if(m>List.size()||m<1)
{
cout << "error";
return 0;
}
int i=1;
for(;i!=m && i<List.size();i++)
{
if(i == m)
{
cout << "ok";
return 0;
}
iter++;
}
if(i == m)
{
cout << "ok";
return 0;
}
cout << "error";
return 0;
}