C++链表 原创 huangjinqiang
2025-12-26
在 C++ 中,链表是一种基础的动态数据结构,由一系列节点组成,每个节点包含数据域和指向下一个节点的指针(单向链表),或同时包含前驱与后继指针(双向链表)。与数组不同,链表在内存中非连续存储,因此插入和删除操作只需调整指针,时间复杂度为 O(1)(已知位置时),但访问任意元素需从头遍历,效率为 O(n)。手写链表有助于深入理解指针、动态内存分配(new/delete)及内存管理机制,是学习数据结构的重要起点,但开发中通常优先使用 STL 容器以避免手动内存错误。
什么是链表?
想象一下:你有一串珠子,每颗珠子上写了一个数字,而且每颗珠子都用一根线连着下一颗珠子 —— 这就是链表!
数组是“连续排列”的珠子(在内存中挨在一起)。
链表是“分散存放”的珠子,但每颗珠子都知道下一颗在哪(通过指针连接)。
链表的基本组成(C++ 特有)
 ……