当前位置: 代码迷 >> 综合 >> C++单链表上查找算法的实现
  详细解决方案

C++单链表上查找算法的实现

热度:40   发布时间:2023-10-19 20:45:33.0

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

 

  相关解决方案