建立一个长度为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;
}