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

企业做网站用dedeCMS免费吗app定制版

企业做网站用dedeCMS免费吗,app定制版,站长素材音效网,吉林省吉林市有几个区封装#xff1a; std::queue 在底层容器的基础上 提供了封装。默认情况下#xff0c;std::queue 使用 std::deque 作为其底层容器#xff0c;但也可以配置为使用 std::list 或 其他符合要求的容器 时间复杂度#xff1a; 入队和出队操作 通常是 常数时间复杂度#xff08…封装 std::queue 在底层容器的基础上 提供了封装。默认情况下std::queue 使用 std::deque 作为其底层容器但也可以配置为使用 std::list 或 其他符合要求的容器 时间复杂度 入队和出队操作 通常是 常数时间复杂度O(1)这意味着 操作的时间不会随着队列大小的增加 而显著增加 空间复杂度 由于 std::queue 使用底层容器来存储元素其空间复杂度 取决于 所使用的底层容器 例如使用 std::deque 时空间复杂度通常是线性的O(n)其中 n 是队列中元素的数量 1、实现 template typename T, typename Container std::dequeT class MyQueue { private:Container data; // 使用底层容器存储队列的元素public:// 将元素添加到队尾void push(const T value) {data.push_back(value);}// 移除队头元素void pop() {if (!empty()) {data.pop_front();} else {throw std::runtime_error(Queue is empty.);}}// 访问队头元素的引用T front() {if (!empty()) {return data.front();} else {throw std::runtime_error(Queue is empty.);}}// 访问队尾元素的引用T back() {if (!empty()) {return data.back();} else {throw std::runtime_error(Queue is empty.);}}// 检查队列是否为空bool empty() const {return data.empty();}// 返回队列的大小size_t size() const {return data.size();} };2、常见面试题 1、阻塞队列 在队列为空时 会阻塞出队操作在队列满时 会阻塞入队操作。非阻塞队列 不会阻塞线程如果 操作不能立即进行则会失败 或 返回特定值 2、循环队列的实现 循环队列 可以使用 一个固定大小的数组 和 两个指针头指针和尾指针前闭后闭来实现。当尾指针到达数组的末尾时它会循环回到数组的开始位置。循环队列的优势 在于它可以重复使用空间减少了 因为扩容而带来的性能开销 所有 的地方 要加上 % size 有两个重要条件 队列为空当 front -1 队列已满当 (rear 1) % size front #include iostream using namespace std;class CircularQueue { private:int *queue; // 动态数组存储队列元素int front; // 指向队列头部的索引int rear; // 指向队列尾部的索引int size; // 队列容量public:// 构造函数初始化队列CircularQueue(int maxSize) {size maxSize;queue new int[size];front -1;rear -1;}// 析构函数释放动态内存~CircularQueue() {delete[] queue;}// 检查队列是否为空bool isEmpty() {return (front -1);}// 检查队列是否已满bool isFull() {return ((rear 1) % size front);}// 向队列中插入元素void enqueue(int value) {if (isFull()) {cout 队列已满无法插入元素 value endl;return;}if (isEmpty()) {front 0; // 如果队列为空则插入第一个元素时将 front 指向 0}rear (rear 1) % size; // 更新 rear 为下一个位置循环queue[rear] value;cout 插入元素: value endl;}// 从队列中删除元素int dequeue() {if (isEmpty()) {cout 队列为空无法删除元素 endl;return -1;}int value queue[front];if (front rear) {// 队列中只有一个元素删除后队列为空front -1;rear -1;} else {// 更新 front 为下一个位置循环front (front 1) % size;}cout 删除元素: value endl;return value;}// 获取队列头部的元素int peekFront() {if (isEmpty()) {cout 队列为空无法获取头部元素 endl;return -1;}return queue[front];}// 获取队列尾部的元素int peekRear() {if (isEmpty()) {cout 队列为空无法获取尾部元素 endl;return -1;}return queue[rear];}// 显示队列中的元素void displayQueue() {if (isEmpty()) {cout 队列为空 endl;return;}cout 队列元素: ;int i front;while (true) {cout queue[i] ;if (i rear) {break;}i (i 1) % size;}cout endl;} }; https://kamacoder.com/ 手写简单版本STL内容在此基础上整理补充
http://www.hkea.cn/news/14377963/

相关文章:

  • 利用vps做网站沈阳营销型网站设计教程
  • 响应式网站 分辨率桂阳网站定制
  • 阳泉住房和城乡建设部网站如何自己做直播网站
  • 本地生活网站建设客源软件哪个最好
  • 白沟网站建设wordpress分类下文章置顶
  • 保定网站制作系统网页升级访问网页导航
  • 著名网站有哪些个人做网站手机获取验证码
  • 餐饮品牌设计网站建设网站制作网页版
  • 自己做网站需不需要钱微信微网站开发报价单
  • 信息网站大全品牌建设服务合同
  • 网站开发如何洽谈客户做网站导航的
  • 房山 网站建设中信建设公司好进去吗
  • 烟台网站排名优化公司哪家好怪兽网站模板
  • 建设银行浙江网站卡密商城平台
  • 个人网站怎么建立要多少钱iis网站压缩
  • 搜索引擎在哪里获取网站万网网站需要的步骤
  • 亿玛酷网站建设网站建设广西
  • 网络营销专员岗位职责沈阳网站关键词优化排名
  • 无锡建行网站福田营销型网站建站推广外包
  • 企业局域网做网站屏蔽在线制作表白网页浪漫
  • 怎么做qq钓鱼网站wordpress分类访问不
  • 个人网站可以不备案吗贵州 网站建设
  • 老公做网站网站推广wordpress免费自定义模板装修教程
  • h5制作网站公司建模培训学校
  • 简单个人网站开发代码织梦增加网站英文名称
  • 网站建设的会计科目高档网站建
  • 保定建设网站及推广做网站推广的好处
  • 南京做网站外包网站在线留言的用途
  • 广州购物网站开发哪个网站做外单出口好
  • 做别人公司的网站违法吗云南网站优化排名