HELLO,各位博友好,我是阿呆 🙈🙈🙈
这里是 C++ 浅谈系列,收录在专栏 C++ 语言中 😜😜😜
本系列阿呆将记录一些 C++ 语言重要的语法特性 🏃🏃🏃
OK,兄弟们,废话不多直接开冲 🌞🌞🌞
SGI STL List 底层实现为双向循环链表,相比双向链表的好处是在构建 List 容器时,只需借助一个指针即可表示首尾元素 👊👊👊
template
class list
{//...//指向链表的头节点, 并不存放数据__list_node* node;//...以下还有list 容器的构造函数以及很多操作函数
}
空 list 构造函数如下 (包含一个节点) 👦👦👦
list() { empty_initialize(); } // 空链表的建立void empty_initialize() {node = get_node(); //初始化节点node->next = node; // 前置节点指向自己node->prev = node; // 后置节点指向自己
}
有带参构造分两步 ① 调用 empty_initialize() 构造头节点空 List 容器链表 ② 将参数按次序插入空 List
具体实现过程,如下图所示 👇👇👇
1、使用 list::merge()
使两个有序链表的二路归并排序 🐳 🐳 🐳
2、list
不能用 STL 算法 sort()
,须使用 list::sort()
member function,因为 sort()
只接受 Random Access Iterator 🐋🐋🐋
身处于这个浮躁的社会,却有耐心看到这里,你一定是个很厉害的人吧 👍👍👍
各位博友觉得文章有帮助的话,别忘了点赞 + 关注哦,你们的鼓励就是我最大的动力
这里,你一定是个很厉害的人吧 👍👍👍
各位博友觉得文章有帮助的话,别忘了点赞 + 关注哦,你们的鼓励就是我最大的动力
博主还会不断更新更优质的内容,加油吧!技术人! 💪💪💪