链表是一种常见的数据结构,它由节点组成,每个节点包含数据和指向下一个节点的指针。链表可以用来有效地插入和删除元素,但访问元素的效率相对较低。
下面是一个简单的链表实现示例:
#include
using namespace std;
// 定义链表节点
struct ListNode {
int val; // 节点的值
ListNode* next; // 指向下一个节点的指针
// 构造函数
ListNode(int x) : val(x), next(NULL) {}
};
// 遍历链表并打印所有节点的值
void printList(ListNode* head) {
ListNode* curr = head;
while (curr != NULL) {
cout << curr->val << " ";
curr = curr->next;
}
cout << endl;
}
int main() {
// 创建链表节点
ListNode* head = new ListNode(1);
ListNode* second = new ListNode(2);
ListNode* third = new ListNode(3);
// 构建链表
head->next = second;
second->next = third;
// 遍历链表并打印
printList(head);
// 释放链表内存
delete head;
delete second;
delete third;
return 0;
}
在上面的示例中,我们定义了一个ListNode
结构体来表示链表的节点。每个节点包含一个整数值和一个指向下一个节点的指针。我们还定义了printList
函数来遍历链表并打印每个节点的值。
在main
函数中,我们创建了三个链表节点,并使用指针将它们连接起来,构建了一个简单的链表。然后,我们调用printList
函数来打印链表的所有节点的值。最后,我们释放了链表的内存。
希望以上示例能够帮助你理解链表的实现。如果你有任何进一步的问题,请随时提问。
上一篇:不理解类型等价性
下一篇:不理解Linux命令