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

深圳高端设计网站/外贸谷歌推广

深圳高端设计网站,外贸谷歌推广,厦门企业官方网站建设,便宜网站建设 优帮云循环队列 队列为满的条件 队列为满的条件需要特殊处理,因为当队列满时,队尾指针的下一个位置应该是队头指针。但是,我们不能直接比较 rear 1 和 front 是否相等,因为 rear 1 可能会超出数组索引的范围。因此,我们需…

循环队列

队列为满的条件

      队列为满的条件需要特殊处理,因为当队列满时,队尾指针的下一个位置应该是队头指针。但是,我们不能直接比较 rear + 1 和 front 是否相等,因为 rear + 1 可能会超出数组索引的范围。因此,我们需要使用模运算 % 来确保索引在数组范围内循环。

        

        浪费一个空间:
        在这种方法中,我们故意让队列中始终保持一个空闲位置,这样当 rear 的下一个位置是 front 时,队列就是满的。

(Q.rear + 1) % MAX_SIZE == Q.front

入队  出队

#include<iostream>
#define Maxsize 6
using namespace std;typedef struct {int data[Maxsize]; // 数组,存储Maxsize-1个元素int front, rear;   // 队列头和队列尾
} SqQueue;void init(SqQueue &Q) {Q.front = Q.rear = 0;
}bool enqueue(SqQueue &Q, int x) {if ((Q.rear + 1) % Maxsize == Q.front) // 判断循环队列是否满了return false;else {Q.data[Q.rear] = x; // 放入元素Q.rear = (Q.rear + 1) % Maxsize; // 改变队尾标记return true;}
}bool dequeue(SqQueue &Q, int &data) {if (Q.rear == Q.front) // 判断队列是否为空return false;else {data = Q.data[Q.front]; // 取出队头元素Q.front = (Q.front + 1) % Maxsize; // 改变队头标记return true;}
}bool isEmpty(SqQueue Q) {return Q.rear == Q.front;
}int main() {SqQueue Q;bool ret;int data;init(Q); // 初始化队列ret = isEmpty(Q);if (ret) {cout << "kong" << endl;} else {cout << "bu wei kong " << endl;}ret = dequeue(Q, data);if (ret) {cout << "出队的元素是" << data << endl;} else {cout << "kong zhan" << endl;}// 测试入队和出队enqueue(Q, 1);enqueue(Q, 2);enqueue(Q, 3);enqueue(Q, 4);enqueue(Q, 5);while (dequeue(Q, data)) {cout << "出队的元素是" << data << endl;}return 0;
}

链队列

用链表表示队列

#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct node {int data;struct node *next;
}LinkNode; typedef struct {LinkNode * front ,* rear;//链表头,链表尾,即对头和队尾 
}LinkQueue;//用带头结点的链表来实现队列 
void init(LinkQueue &Q)
{Q.front=Q.rear=(LinkNode *)malloc(sizeof(LinkNode)); Q.front->next=NULL;
}void enqueue(LinkQueue &Q,int x)
{LinkNode *newnode;newnode=(LinkNode *)malloc(sizeof(LinkNode));newnode->data=x;Q.rear->next=newnode;Q.rear=newnode;//rear指向新的尾部 newnode->next=NULL;}int dequeue(LinkQueue &Q,int &data)
{if(Q.rear==Q.front ){cout<<"栈空"<<endl;}else{LinkNode * q=Q.front->next;//指向第一个元素 Q.front->next=q->next;data=q->data; //获取出队的元素值 if(Q.rear=q)//队列只剩一个元素,被删除后要改变rear; {Q.front=Q.rear;}}return data;
}
bool IsEmpty(LinkQueue Q)
{if(Q.front==Q.rear ){return true;}else{return false;}
}
int main()
{LinkQueue Q;init(Q); enqueue(Q,1);enqueue(Q,2);enqueue(Q,3);enqueue(Q,4);enqueue(Q,5);int data;data=dequeue(Q,data);cout<<"出对的元素值是"<<data<<" "<<endl;return 0;}

http://www.whsansanxincailiao.cn/news/30337194.html

相关文章:

  • web网站开发历史/互联网广告销售
  • 网站建设规划ppt/网络营销产品的首选产品
  • 3D动漫做爰网站/厨师培训机构
  • 做pc端网站效果/自己怎么开网站
  • html5能单独做网站吗/推广发帖网站
  • 武汉参开网络网站建设公司/市场调研报告范文模板word
  • 佛山做网站公司哪家好/免费的网络推广渠道有哪些
  • 自己做的网站如何盈利/seo培训讲师招聘
  • app网站建设制作/微信最好用的营销软件
  • 用Java或ssm做网站有什么区别/成品网站1688入口的功能介绍
  • 郑州网站建设公司咨询/哈尔滨推广优化公司
  • 哪些网站可以做招生信息/职业技能培训网
  • 做淘宝的导购网站/推广网站哪个好
  • 工程机械外贸网站建设/全球网站排名查询
  • 国家疫情防控最新政策解读/seo网站关键词排名提升
  • 电子网站搜索引擎怎么做/搜索引擎优化宝典
  • 怎么做网页模板展示网站/seo技术分享免费咨询
  • 福田公司是国企还是私企/苏州网站建设优化
  • 网站设计内容/旅游搜索量环比增188%
  • 苏州吴江区建设局网站/微博推广费用
  • 移动网站设计与制作/百度seo营销
  • 平顺网站建设/黑帽seo技术论坛
  • 成都模板网站建设/百度云网盘下载
  • 网站建设模拟器/seo搜索优化服务
  • 3g网站设计/游戏代理加盟平台
  • 在郑州网站建设/百度广告一天多少钱
  • 网络设计课/宁波seo推广优化
  • 网站建设方案案例/网络软文营销案例
  • 医疗网站建设免费/广告发布平台app
  • 新华书店的做的数字阅读网站/一般开车用什么导航最好