建立一个长度为n的带头结点的单链表,在该表中寻找第i个结点,若找到,则输出ok,否则输出error。处理数据类型为整型。
输入
第一行为链表的长度n; 第二行为链表中的数据元素; 第三行为要找的结点i。
输出
找到就输出ok,没找到就输出error。
样例输入
10 1 2 3 4 5 6 7 8 9 10 5
样例输出
ok
// 7单链表上查找算法的实现.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
class List {
public:
List(int len);
~List();
bool find(int data);
private:
int data;
List *Next;
};
List::List(int len) {
int i;
List *L, *Node;
L = this;
cin >> L->data;
for (i = 1; i < len;i++) {
Node = new List(1);
L->Next = Node;
L=L->Next;
}
L->Next = NULL;
}
bool List::find(int data) {
List *L;
L = this;
while (L) {
if (L->data==data) {
return true;
}
L = L->Next;
}
return false;
}
List::~List() {
if (this->Next) {
delete this->Next;
}
}
int main()
{
int len = 0;
int data = 0;
cin >> len;
List *Head = new List(len);
cin >> data;
if (Head->find(data)) {
cout << "ok";
}
else {
cout << "error";
}
delete Head;
return 0;
}