当前位置: 首页 > news >正文

苏州专业网站建设网站备案初审过了

苏州专业网站建设,网站备案初审过了,西安市建设工程交易中心,五屏网站建设动态一、容器适配器概念 queue 是标准模板库(STL)中的容器适配器&#xff0c;它基于其他底层容器实现队列数据结构&#xff0c;遵循先进先出(FIFO)原则。其模板声明为&#xff1a; template <class T, class Container deque<T>> class queue;其中&#xff1a; T&…

一、容器适配器概念

queue 是标准模板库(STL)中的容器适配器,它基于其他底层容器实现队列数据结构,遵循先进先出(FIFO)原则。其模板声明为:

template <class T, class Container = deque<T>> 
class queue;

其中:

  • T:存储元素的类型
  • Container:底层容器类型(默认使用deque

二、底层容器选择

支持的容器要求

底层容器必须提供以下操作:

  • push_back()
  • pop_front()
  • front()
  • back()
  • empty()
  • size()
// 正确用法
queue<int, list<int>> queueList;  // ✅ list支持所有必需操作// 错误用法 
queue<int, vector<int>> queueVec; // ❌ vector没有pop_front()
容器可用性原因
deque默认适配容器
list支持所有必需操作
vector缺少高效pop_front()

三、队列核心操作

1. 元素存取

queue<int> q;// 添加元素
q.push(1);    // 拷贝元素到队尾
q.emplace(2); // 直接构造元素(推荐用于自定义对象)// 访问元素
q.front() = 10; // 修改队首元素(返回引用)
q.back() = 20;  // 修改队尾元素(返回引用)// 移除元素
q.pop();        // 移除队首元素(无返回值)

2. 容量查询

cout << "元素数量: " << q.size();  // 获取队列长度
cout << "是否为空: " << q.empty(); // 判断空队列

四、完整代码解析

#include <iostream>
#include <queue>
#include <list>using namespace std;int main() {queue<int, list<int>> queueInt; // 使用list作为底层容器// 插入元素for(int i=1; i<=5; ++i){queueInt.push(i);}/* 修改元素值 */queueInt.front() = 66; // 修改队首queueInt.back() = 99;  // 修改队尾// 获取元素值int frontVal = queueInt.front();int backVal = queueInt.back();// 输出结果cout << "队首元素: " << frontVal << endl; // 输出66cout << "队尾元素: " << backVal << endl;  // 输出99// 容量操作if(!queueInt.empty()){cout << "队列长度: " << queueInt.size(); // 输出5}system("pause");return 0;
}

五、关键特性说明

  1. 元素访问

    • front()/back()返回引用,可直接修改元素值
    • 访问空队列的队首/队尾会导致未定义行为
  2. 插入操作对比

    方法特点适用场景
    push()拷贝已有对象基础类型
    emplace()直接构造新对象(效率更高)自定义类对象
  3. 性能特征

    • 所有操作时间复杂度:O(1)
    • 元素存储在连续内存(vector)或离散内存(list)

六、使用注意事项

  1. 容器选择原则

    • 需要频繁两端操作 → deque(默认最佳选择)
    • 需要大量中间操作 → list
  2. 线程安全性

    • STL容器非线程安全
    • 多线程环境需要自行加锁
  3. 异常处理

    • push()可能抛出内存分配异常
    • pop()操作前必须检查empty()
http://www.dtcms.com/a/534022.html

相关文章:

  • FreeRTOS源码学习(一)内存管理heap_1、heap_3
  • 成都专业网站建设价格低彩妆网站建设
  • 开发一个电商网站织梦网站logo怎么换
  • FMHY资源导航网页入口 - 全球免费软件与工具合集开源索引
  • 大规模TSP问题的分层聚类预处理中动态确定最优簇数量
  • 哪个网站做动图网站建设发展前景
  • html5制作手机网站制作一个网站
  • 南通模板建站多少钱怎么做网站的浏览栏
  • 宁波网站制作报价扬中吧百度贴吧
  • 用什么软件写网站郑州抖音推广
  • 龙岗区住房和建设局网站打不开只做动漫的网站
  • 做网站输入文本框做下拉idc主机销售系统源码
  • 机器学习19:自监督式学习在语音和影像上的运用
  • 查询网站是否正规vi设计找哪家公司
  • 做网站维护要什么专业大型外包公司有哪些
  • 给网站做公正需要带什么建设政务网站报告
  • 用jsp做的网站代码中国导航电子地图
  • Fedora42 安装Easyconnect
  • ArkTS 中 @State、@Prop 和 @Link 的区别总结
  • 查询网站用什么做的北京厦门网站优化
  • C++ 中 Views 的详细讲解
  • Java基础复习-上
  • 长沙网站改版西安企业建站系统模板
  • 龙岩网站优化个人做网站好吗
  • 无锡网站托管国产一级a做爰片免费网站
  • 巨野住房和城乡建设局网站wordpress多站共享授权码
  • 哪些网站可以做免费广告推广有哪些建设工程类网站
  • 禹城有做网站常见网络营销工具
  • 如何做彩票网站的源码可以做游戏的网站有哪些
  • 龙元建设集团股份有限公司网站地址网站设计素材网站