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

公司网站ICP注销濮阳新闻综合频道

公司网站ICP注销,濮阳新闻综合频道,网店运营实训总结,南京做网站具体需要多少钱记录一下作者在学习数据结构中的所有数据结构和算法的具体实现 顺带补充相关知识 本系列文章注重的是代码实现!代码实现!代码实现! 这里放一个代码合集(目前正在逐步更新中) 代码合集链接 什么是队列 队列也是一种插…

记录一下作者在学习数据结构中的所有数据结构和算法的具体实现
顺带补充相关知识
本系列文章注重的是代码实现!代码实现!代码实现!

这里放一个代码合集(目前正在逐步更新中)
代码合集链接

什么是队列

队列也是一种插入和删除受限的线性表。
只允许在一端插入,另一端删除的受限制的线性表。

由于顺序实现的顺序队列会存在假溢出问题,所以我们更常使用的是循环队列,
循环队列就是将顺序队列从逻辑上变为一个环状数组。

顺序循环队列代码实现

#include<iostream>using namespace std;/*由于顺序实现的顺序队列会存在假溢出问题,所以我们直接实现循环队列在循环队列中,区分队满和队空有多种处理方式。1.牺牲一个存储单元,入队时少用一个队列单元。(最常用,所以实现这一种)队满:(q.rear+1)%N==q.front队空:q.rear==q.front2.结构体中增加一个size字段,用来记录元素个数队满:显然size==N队空:显然size==0*/const int N = 100;//最大容量typedef struct queue {int rear;//队尾int front;//队头int data[N];
}sq;// 初始化队列
void initQueue(sq& q) {q.front = q.rear = 0;
}
// 是否为空
bool isEmpty(sq q) {return q.front == q.rear;
}
// 是否队满
bool isFull(sq q){return (q.rear + 1) % N == q.front;
}
// 入队
bool push(sq& q,int num) {if (isFull(q))return false;q.data[q.rear] = num;q.rear = (q.rear + 1) % N;return true;
}
// 出队
bool pop(sq& q,int& num) {if (isEmpty(q))return false;num = q.data[q.front];q.front = (q.front + 1) % N;return true;
}
// 读队首元素
bool getFront(sq& q,int& num) {if (isEmpty(q))return false;num = q.data[q.front];return true;
}

链队实现

链队相当于一个有头尾节点的单链表

#include<iostream>typedef struct linkNode {int data;struct linkNode* next;
}linkNode;typedef struct {linkNode* front;linkNode* rear;
}linkQueue;bool initQueue(linkQueue& q) {q.front = q.rear = (linkNode*)malloc(sizeof(linkNode));if (q.front == NULL || q.rear == NULL)return false;q.front->next = NULL;return true;
}bool isEmpty(linkQueue q) {if (q.front == q.rear)return true;else return false;
}bool enQueue(linkQueue& q, int x) {linkNode* s = (linkNode*)malloc(sizeof(linkNode));if (s == NULL)return false;s->data = x;s->next = NULL;q.rear->next = s;q.rear = s;return true;
}bool deQueue(linkQueue& q, int& x) {if (isEmpty(q))return false;linkNode* p = q.front->next;x = p->data;q.front->next = p->next;if (q.rear == p)q.rear = q.front;free(p);return true;
}bool getHead(linkQueue q, int& x) {if (isEmpty(q))return false;x = q.front->next->data;return true;
}int main() {return 0;
}

参考

王道数据结构考研复习指导书
严蔚敏数据结构

http://www.dtcms.com/wzjs/810279.html

相关文章:

  • 怎样把一个网站建设的更好帮公司制作一个网站是如何收费
  • 彭阳网站建设多少钱免费手机网站制作
  • 肃宁县网站建设软件行业发展前景
  • 商城网站定制建设价位证件制作
  • 网站运营需要 做哪些工作西樵网站开发
  • 网站代运营价格百度网盘 做网站图床
  • 网站及新媒体建设办法上传网站程序
  • 自己做的网站页面错误微信直接下载安装
  • 购物网站发展规划与建设进度内容营销ppt
  • 重庆建设工程交易中心网站教育培训网站建设
  • 烟台建设集团 招聘信息网站广州旅游必去十大景点
  • 企业网站续费中职示范校建设网站
  • 门户网站模板源码知道ip怎么查域名
  • 学习网站开发教程大同建设局网站
  • 购物网站建设代码网页设计实训报告1500字
  • 网页制作免费的素材网站wordpress编辑模板插件
  • 学校部门网站建设情况汇报新中式家具
  • 成都企业建站模板网站设置了字体为黑体怎么改字体
  • 网站开发 前端 后端 如何结合手机建站程序
  • 太仓网站建设平台wordpress腾讯云cos
  • 微信平台与微网站开发设计个人网页
  • 网站开发主菜单和子菜单深圳网站建设是哪个
  • 小说网站开发流程免费简单门户网站开发
  • 网站开发建设专业的公司wordpress 页面调用标签
  • 网站开发中文摘要网页浏览器推荐
  • 招聘网站页面网站建设企业建站
  • 杭州怎么做网站电商服务
  • 贵阳中国建设银行招聘信息网站公司平台
  • 网站页面组成部分政务建设网站得必要性
  • 济南高端建站长沙民企人才网