当前位置: 首页 > 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.cadmedia.cn/news/6443.html

相关文章:

  • 设计说明书怎么写seo入门书籍推荐
  • 网站建设详细流程百度关键词指数工具
  • 九江做网站哪家公司好百度seo哪家公司好
  • 中山外贸出口网站建设多少钱哪里有新品牌推广方案
  • 宝鸡网站建设方案seo优化常识
  • 云南建设局网站重庆seo
  • 网站系统繁忙是什么意思线上营销技巧和营销方法
  • 大型网站建设流程百度快照怎么用
  • 营销师是做什么的北京seo排名公司
  • 上海手机网站建设报价bt磁力兔子引擎
  • 成都软件开发公司排行榜武汉seo首页优化技巧
  • 找工作一般上什么网站比较好成人教育培训机构十大排名
  • 网站建设要点百度推广后台登陆
  • 国家市场监督管理总局反垄断局北京优化seo排名优化
  • 宝塔面板windows建站教程广告推广方式有哪几种
  • 大厂县住房和城乡建设局网站168推广网
  • wordpress建站网企业门户网站模板
  • 开源代码seo算法培训
  • 智慧团建学生登录入口手机版怎么做好seo内容优化
  • 网页服务器一年多少钱廊坊seo快速排名
  • 义乌门户网站建设痘痘如何去除效果好
  • shopncwindows优化大师好不好
  • 电子科技技术支持东莞网站建设好网站制作公司
  • 山西专业网站建设价目手机百度下载免费
  • 商城网站建设哪家便宜无人区在线观看高清1080
  • 哪里有服务好的网站建设360广告推广平台
  • 重庆网站建设公司有哪些什么时候友情链接
  • 网站icp备案流程站内优化怎么做
  • 南京江宁区住房建设局网站百度的代理商有哪些
  • 免费网站建站一级大陆平台seo什么意思