IT评测·应用市场-qidao123.com技术社区

标题: 【C++】深度解析:用 C++ 模拟实现 list 类,探索其底层实现细节 [打印本页]

作者: 光之使者    时间: 2024-7-30 04:26
标题: 【C++】深度解析:用 C++ 模拟实现 list 类,探索其底层实现细节
 

目录
list先容
list模拟实现
list 节点类
list 的迭代器
定义 
构造函数
解引用
operator前置++和--与后置++和--
operator==与operator!=
list 类
构造函数
 begin()和end()
 拷贝构造
erase()
clear()
析构函数
insert
 push_back 和 push_front
pop_back 和 pop_front
完备代码


 

⭐list先容


⭐list模拟实现

     
  模拟实现list的类的基本功能(增删等操作)要创建在迭代器类和节点类均已实现好的情况下才得以完成。
  ✨list 节点类


  1.         template<class T>
  2.         struct ListNode
  3.         {
  4.                 ListNode<T>* _next;
  5.                 ListNode<T>* _prev;
  6.                 T _data;
  7.                 ListNode(const T& x = T())
  8.                         :_next(nullptr)
  9.                         ,_prev(nullptr)
  10.                         ,_data(x)
  11.                 {}
  12.         };
复制代码
✨list 的迭代器

迭代器有两种实现方式,具体应根据容器底层数据布局实现:
1. 原生态指针,比如:vector
2. 将原生态指针进行封装,因迭代器使用形式与指针完全雷同,因此在自定义的类中必须实现以下方法:





欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4