在C++中,链表是由一系列节点构成的,每个节点包含一个值和一个指向下一个节点的指针。
我们可以用结构体定义出一个节点:
struct ListNode {
int value;
struct ListNode *next;
};
在定义完后,我们将链表进行初始化,并插入5条数据:
struct ListNode* initNode(){
// 创建头指针
struct ListNode *p;
// 创建头节点
auto *head = new ListNode;
head->value = 0;
head->next = nullptr;
p = head;
//插入数据
for (int i = 0; i < 5; ++i) {
auto* t = new ListNode;
t->value = i+1;
t->next = nullptr;
head->next = t;
head = head->next;
}
return p;
}
接着我们在主函数中进行测试,看看是否能成功打印出链表:
int main() {
struct ListNode* p;
p = initNode();
// 打印链表
while (p != nullptr){
cout << p->value << endl;
p = p->next;
}
return 0;
}
运行结果如图所示:
这段代码输出了链表中所有节点的值,0到5。在创建链表时,首先创建了一个值为0的头节点,然后添加了5个值为1到5的节点。在遍历并打印链表时,按照节点在链表中的顺序打印出它们的值。
至此,成功构建链表。