生成一段单链表c++模版
时间: 2023-08-11 15:56:30 浏览: 85
下面是一个简单的 C++ 模板,用于定义单链表的节点和链表的操作:
```cpp
#include <iostream>
template<typename T>
struct ListNode {
T val;
ListNode<T> *next;
ListNode(T x) : val(x), next(nullptr) {}
};
template<typename T>
class LinkedList {
private:
ListNode<T> *head;
public:
LinkedList() : head(nullptr) {}
void insert(T data) {
ListNode<T> *newNode = new ListNode<T>(data);
if (head == nullptr) {
head = newNode;
} else {
ListNode<T> *current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = newNode;
}
}
void display() {
ListNode<T> *current = head;
while (current != nullptr) {
std::cout << current->val << " ";
current = current->next;
}
std::cout << std::endl;
}
};
int main() {
LinkedList<int> list;
list.insert(1);
list.insert(2);
list.insert(3);
list.display();
return 0;
}
```
上述代码定义了一个 `ListNode` 结构体作为链表的节点,其中包含一个值 `val` 和一个指向下一个节点的指针 `next`。然后,定义了一个 `LinkedList` 类来表示链表,包含插入和显示链表的操作。
在 `main` 函数中,创建了一个 `LinkedList` 对象 `list`,并通过调用 `insert` 方法插入了三个节点。最后,调用 `display` 方法显示链表中的值。
你可以根据需要修改模板的实现,适应不同的数据类型和操作。
阅读全文