设计一个单向链表的类模板,使其能够完成单向链表的创建和显示。
时间: 2024-03-22 10:41:06 浏览: 80
以下是一个单向链表的类模板,可以完成单向链表的创建和显示:
```c++
#include <iostream>
using namespace std;
template <typename T>
class ListNode {
public:
T data;
ListNode<T>* next;
ListNode(T d) {
data = d;
next = nullptr;
}
};
template <typename T>
class LinkedList {
public:
LinkedList() {
head = nullptr;
}
void insert(T data) {
ListNode<T>* node = new ListNode<T>(data);
if (head == nullptr) {
head = node;
return;
}
ListNode<T>* cur = head;
while (cur->next != nullptr) {
cur = cur->next;
}
cur->next = node;
}
void display() {
if (head == nullptr) {
cout << "LinkedList is empty." << endl;
return;
}
ListNode<T>* cur = head;
while (cur != nullptr) {
cout << cur->data << " ";
cur = cur->next;
}
cout << endl;
}
private:
ListNode<T>* head;
};
int main() {
LinkedList<int> list;
list.insert(1);
list.insert(2);
list.insert(3);
list.display();
return 0;
}
```
输出结果为:
```
1 2 3
```
在上面的示例中,我们定义了一个ListNode类来表示单向链表中的节点,其中包含了数据成员和指向下一个节点的指针。然后我们又定义了一个LinkedList类来表示单向链表,其中包含了插入和显示两个成员函数。在插入函数中,我们创建一个新的节点并将其插入到链表的末尾。在显示函数中,我们遍历整个链表并将每个节点的数据成员打印出来。
阅读全文