聊城做网站的公司流程,顺德定制网站设计,厦门网站建设哪里好,广州市住房住建局网站摘要#xff1a; CC STL#xff08;Standard Template Library#xff0c;标准模板库#xff09;在C编程中的重要性不容忽视#xff0c;STL提供了一系列容器、迭代器、算法和函数对象#xff0c;这些组件极大地提高了C程序的开发效率和代码质量。
STL 容器 分为 2 大类 …摘要 CC STLStandard Template Library标准模板库在C编程中的重要性不容忽视STL提供了一系列容器、迭代器、算法和函数对象这些组件极大地提高了C程序的开发效率和代码质量。
STL 容器 分为 2 大类 , 分别是“序列式容器” 和“关联式容器 ”。
序列式容器每个元素都有固定位置取决于插入时机和地点其底层为线性序列的数据结构里面存储的是元素本身。关联式容器元素位置取决于特定的排序准则和插入顺序无关其里面存储的是 key , value 结构的键值对在数据检索时比序列式容器效率更高。 本系列博文将详细介绍CSTL的各种容器的特性优缺点以及其常用算法方法等。本文介绍的是序列式容器-队queuedeque。
开发环境VScodeC17
关键词 CSTL数据存储数据类型队列queuedeque 声明本文作者原创转载请附上文章出处与本文链接。 文章目录 摘要正文queue常用函数使用例子 deque常用函数使用例子 推荐阅读 正文
queue 在C的STLStandard Template Library中queue 是一个容器适配器它提供了队列FIFO - First In First Out的基本操作。队列是一种特殊的线性数据结构只允许在一端插入元素称为队尾或后端而在另一端删除元素称为队首或前端。有需要更深入了解数据结构队的可看同专栏下数据结构分支。 常用函数
push()在队尾插入一个元素。pop()删除队首的元素。front()返回队首元素的引用。back()返回队尾元素的引用。empty()检查队列是否为空。size()返回队列中的元素数量。
使用例子
#include iostream
#include queueint main()
{std::queueint q;// 插入元素q.push(1);q.push(2);q.push(3);// 访问元素std::cout Front element: q.front() \n;std::cout Back element: q.back() \n;// 删除元素q.pop();std::cout Front element after pop: q.front() \n;// 检查队列是否为空和大小if (q.empty()) {std::cout Queue is empty.\n;}else {std::cout Queue is not empty. Size: q.size() \n;}return 0;
}deque 在C的STLStandard Template Library中deque双端队列是一个容器它支持在序列的开头和结尾进行元素的快速插入和删除操作。与vector不同deque不需要在内存中连续存储元素因此它允许在容器的两端进行高效的插入和删除操作而不需要重新分配整个容器。 常用函数
push_front()在deque的前端插入一个元素。push_back()在deque的后端插入一个元素。pop_front()删除deque的前端元素。pop_back()删除deque的后端元素。front()返回deque的前端元素的引用。back()返回deque的后端元素的引用。empty()检查deque是否为空。size()返回deque中的元素数量。begin() 和 end()返回指向deque中第一个元素和最后一个元素之后的位置的迭代器。insert()在指定位置插入一个或多个元素。erase()删除指定位置的元素或指定范围内的元素。
使用例子
#include iostream
#include dequeint main()
{std::dequeint d;// 插入元素d.push_front(1);d.push_back(2);d.push_front(3);d.push_back(4);// 访问元素std::cout Front element: d.front() \n;std::cout Back element: d.back() \n;// 删除元素 d.pop_front(); d.pop_back(); std::cout Front element after pops: d.front() \n;// 遍历dequefor (int i : d) {std::cout i ;}std::cout \n;// 检查deque是否为空和大小if (d.empty()) {std::cout Deque is empty.\n;}else {std::cout Deque is not empty. Size: d.size() \n;}return 0;
}推荐阅读
博客主页https://blog.csdn.net/weixin_45068267 客官逛一逛有许多其它有趣的专栏博文
C/C专栏https://blog.csdn.net/weixin_45068267/category_12268204.html 内含其它STL容器使用及对应的数据结构实现