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

肥西县重点工程建设管理局网站品牌策划与设计机构

肥西县重点工程建设管理局网站,品牌策划与设计机构,网站建设淘宝,网站建设困难在C中,使用数组模拟队列通常涉及到两个主要的操作:入队(enqueue)和出队(dequeue)。由于数组是一个固定大小的数据结构,当使用数组模拟队列时,需要手动管理队列的头部和尾部位置。以下…

在C++中,使用数组模拟队列通常涉及到两个主要的操作:入队(enqueue)和出队(dequeue)。由于数组是一个固定大小的数据结构,当使用数组模拟队列时,需要手动管理队列的头部和尾部位置。以下是使用数组模拟队列的一种简单实现方法:

#include <iostream>
#include <vector>class ArrayQueue {
private:std::vector<int> data; // 使用vector来动态管理数组的大小int front; // 队列头部的索引int rear;  // 队列尾部的索引int count; // 队列中元素的数量public:ArrayQueue() : front(0), rear(-1), count(0) {}// 入队操作bool enqueue(int value) {if (count == data.size()) {// 如果队列满了,需要扩容if (data.size() == 0 || rear == 0) {data.resize(data.size() * 2);} else {// 将队列元素向前移动,重新利用数组空间for (int i = front; i != rear + 1; ++i) {data[i - front] = data[i];}rear -= front;front = 0;}}data[++rear] = value;++count;return true;}// 出队操作bool dequeue() {if (count == 0) {std::cout << "Queue is empty" << std::endl;return false;}if (front == rear) {// 队列为空,重置front和rearfront = rear = 0;} else {++front;}--count;return true;}// 查看队首元素int frontValue() const {if (count == 0) {throw std::runtime_error("Queue is empty");}return data[front];}// 检查队列是否为空bool isEmpty() const {return count == 0;}// 获取队列的大小int size() const {return count;}
};int main() {ArrayQueue queue;queue.enqueue(1);queue.enqueue(2);queue.enqueue(3);std::cout << "Front value: " << queue.frontValue() << std::endl; // 输出队首元素queue.dequeue();std::cout << "Front value after dequeue: " << queue.frontValue() << std::endl;std::cout << "Queue size: " << queue.size() << std::endl; // 输出队列大小while (!queue.isEmpty()) {std::cout << "Dequeued: " << queue.frontValue() << std::endl;queue.dequeue();}return 0;
}

这个例子中,我们使用了 std::vector 来避免固定大小数组带来的限制,使得队列可以根据需要自动扩容。front 和 rear 分别指向队列的头部和尾部,count 记录队列中的元素数量。

请注意,当数组填满时,我们可以选择扩容数组或者将数组中的元素向前移动,以重新利用数组空间。在这个例子中,我们选择了后者,这样可以避免频繁的内存分配和复制操作。但是,这种方法要求数组的初始位置不为0,或者在移动元素后更新 front 和 rear 的值。

http://www.yayakq.cn/news/524765/

相关文章:

  • 系部网站建设方案wordpress手机图标没了
  • 网站制作经费预算表双浩建设网站
  • 华丽的网站模板写作网站后台账号密码忘了怎么办
  • 百度做网站的服务合同wordpress修改文章页面模板
  • 做微站比较好的网站秦皇岛手机网站制作公司
  • 网站无域名注册人id个人如何申请开公司
  • 龙华o2o网站建设利鑫做彩票网站
  • 优化落实新十条措施模版网站利于优化
  • 网站开发公司需要投入什么资源广告推广营销
  • 试析企业网站建设模式重庆市建设执业注册中心网站
  • 济南网站制作厂家做网站如何找项目
  • 国开行网站毕业申请怎么做深圳电子厂
  • 国内炫酷的网站设计浙江网站建设自助建站优化
  • 2017网站开发语言做网站公司怎么样
  • 网站设计的国际专业流程是什么wordpress 2.9.1漏洞
  • 腾讯云服务器网站域名备案彩票网站开发需要多少钱
  • 汤原建设局网站互联网与智慧酒店建设
  • 有什么网站可以做微信支付宝支付宝为什么装修公司建议半包
  • 邢台公司做网站seo外包是什么
  • 可以自己做论坛网站吗网站建设 主机托管
  • 外贸网站怎么做推广网站建设公司用5g
  • 网站的设计方法一般的手机网站建设多少钱
  • 网页网站建设服务器迁移对做网站的影响
  • 安徽省建设干部学校网站关停网络推广公司介绍
  • 网站后台账号密码破解wordpress 用ip访问不了
  • 影视怎么建设网站西安建站套餐
  • 网站策划书模板中国建筑培训网
  • 网站怎么做快捷方式怎么修改自己的网站
  • 广州市招投标网站在线商标设计logo免费
  • 网站后台文本编辑器做网站做