7.1.1 蓝桥杯基础数据结构之链表、栈、队列
引言
在蓝桥杯等程序设计竞赛中,掌握基础数据结构对于编写高效、可靠的代码至关重要。本文将探讨如何使用数组来实现三种基础数据结构:链表、栈和队列,并提供相应的C++代码示例。
一、链表
链表的基本概念
链表是一种动态数据结构,可以在运行时动态地添加和删除节点,这使得它在需要频繁插入和删除操作的场合非常有用。与数组不同,链表中的元素并不需要在内存中连续存储,这提供了更大的灵活性。
单链表
单链表是最简单的链表结构,每个节点包含数据和指向下一个节点的指针。这种结构使得遍历链表时只能向一个方向移动:从头节点开始,直到遇到一个指针指向NULL
的节点。
单链表的C++实现
首先,定义一个节点结构体,包含数据和指向下一个节点的指针:
struct ListNode {
int val; // 存储的数据
ListNode