STL容器:map核心总结

成员函数 访问 成员函数 函数说明 at(key) 带有边界检查,返回对键为 key 的元素的引用。如果键不存在,则抛出 std::out_of_range 异常。 operato...

阅读更多

Leetcode解题思路总结

链表 多使用变量,逻辑会变得清晰,如prev,cur,next 虚拟头节点 快慢指针 前后指针

阅读更多

STL容器适配器:stack核心总结

std::stack是一种适配器容器,它提供了一个后进先出(LIFO)的数据结构。 std::stack的模板格式: template< T, Container = std::stack<T> > class stack; 其中: T: 数据类型 Container: 底层...

阅读更多

STL容器适配器:queue核心总结

std::stack是一种适配器容器,它提供了一个先进先出(FIFO)的数据结构。 std::queue的模板格式: template< T, Container = std::deque<T> > class queue; 其中: T: 数据类型 Container: 底层...

阅读更多

STL容器适配器:priority_queue核心总结

优先队列std::priority_queue 是 一个容器适配器。它是一个特殊的队列,具有队列的所有特性。 std::priority_queue的特殊之处就是它自动保持队列中的元素有序,确保队首元素始终是最高优先级的元素。 容器适配器是一种特殊的类模板,它不直接管理元素,而是封装一个已有的底层容器,...

阅读更多

STL容器:list核心总结

std::list是由双向链表来实现。 std::list在任何位置执行插入和删除的复杂度都为O(1)。 在std::list中添加、移动和移除元素不会使迭代器或引用失效,迭代器只有在对应元素被删除时才会失效。 template <typename T> class list { T v...

阅读更多

STL容器:forward_list核心总结

std::forward_list支持从容器中的任何位置快速插入和移除元素的容器。不支持快速随机访问。 std::forward_list实现为单链表,且实质上与其在C中的实现相比无任何开销。 与std::list相比,std::forward_list在不需要双向迭代时提供更好的存储空间效率。 forwa...

阅读更多

STL容器:vector核心总结

vector是一种封装动态数组的序列容器,在内存中连续排列。 vector的size vector对象大小是固定的。 class vector { ... protected: iterator start; // 目前使用空间的头 iterator finish; ...

阅读更多