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

临沂制作手机网站湖南网站建设方案优化

临沂制作手机网站,湖南网站建设方案优化,广东网站建设网,cn域名与com域名队列 队列的概念及结构 队列#xff1a;只允许在一端进行插入数据操作#xff0c;在另一端进行删除数据操作的特殊线性表#xff0c;队列具有先进先出 FIFO(First In First Out) 入队列#xff1a;进行插入操作的一端称为队尾 出队列#xff1a;进行删除操作的一端称为队… 队列 队列的概念及结构 队列只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表队列具有先进先出 FIFO(First In First Out) 入队列进行插入操作的一端称为队尾 出队列进行删除操作的一端称为队头 队列的实现 队列也可以数组和链表的结构实现使用链表的结构实现更优一些因为如果使用数组的结构出队列在数 组头上出数据效率会比较低 // 链式结构表示队列 typedef struct QListNode { struct QListNode* _pNext; QDataType _data; }QNode; // 队列的结构 typedef struct Queue { QNode* _front; QNode* _rear; }Queue; // 初始化队列 void QueueInit(Queue* q); // 队尾入队列 void QueuePush(Queue* q, QDataType data); // 队头出队列 void QueuePop(Queue* q); // 获取队列头部元素 QDataType QueueFront(Queue* q); // 获取队列队尾元素 QDataType QueueBack(Queue* q); // 获取队列中有效元素个数 int QueueSize(Queue* q); // 检测队列是否为空如果为空返回非零结果如果非空返回0 int QueueEmpty(Queue* q); // 销毁队列 void QueueDestroy(Queue* q);总的代码如下 #include Queue.hvoid QueueInit(Que* pq) {assert(pq);pq-head pq-tail NULL;pq-size 0; }void QueueDestroy(Que* pq) {assert(pq);QNode* cur pq-head;while (cur){QNode* next cur-next;free(cur);cur next;}pq-head pq-tail NULL;pq-size 0; }void QueuePush(Que* pq, QDataType x) {assert(pq);QNode* newnode (QNode*)malloc(sizeof(QNode));if (newnode NULL){perror(malloc fail);exit(-1);}newnode-data x;newnode-next NULL;if (pq-tail NULL){pq-head pq-tail newnode;}else{pq-tail-next newnode;pq-tail newnode;}pq-size; }void QueuePop(Que* pq) {assert(pq);assert(!QueueEmpty(pq));if (pq-head-next NULL){free(pq-head);pq-head pq-tail NULL;}else{QNode* next pq-head-next;free(pq-head);pq-head next;}pq-size--; }QDataType QueueFront(Que* pq) {assert(pq);assert(!QueueEmpty(pq));return pq-head-data; }QDataType QueueBack(Que* pq) {assert(pq);assert(!QueueEmpty(pq));return pq-tail-data; }bool QueueEmpty(Que* pq) {assert(pq);return pq-head NULL; }int QueueSize(Que* pq) {assert(pq);return pq-size; }#pragma once#includestdio.h #includestdlib.h #includeassert.h #includestdbool.htypedef int QDataType; typedef struct QueueNode {struct QueueNode* next;QDataType data; }QNode;typedef struct Queue {QNode* head;QNode* tail;int size; }Que;void QueueInit(Que* pq); void QueueDestroy(Que* pq); void QueuePush(Que* pq, QDataType x); void QueuePop(Que* pq); QDataType QueueFront(Que* pq); QDataType QueueBack(Que* pq); bool QueueEmpty(Que* pq); int QueueSize(Que* pq);
http://www.dnsts.com.cn/news/6299.html

相关文章:

  • 公司微网站建设价格wordpress标签有问题
  • 郑州可以做网站的公司厦门网站建站
  • 建设网站费用明细帮人注册网站 做app
  • 请人开发一个网站需要多少钱免费网站电视剧全免费的app
  • 怎么做粉丝福利购网站自己建设小城市网站得多少钱
  • 网站后台密码怎么改wordpress 3.0.1
  • 建设工程信息发布网站几百的网站
  • 校园文化建设相关网站深圳建设集团员工
  • 建设银行手机版官方网站下载网站子域名
  • 需要推销自己做网站的公司做网站年入多少
  • 用织梦做的网站好用吗貴阳建设银行网站
  • 成都 企业网站建设公司价格线上销售的方法和技巧
  • 济宁网站建设案例展示义乌市网站建设
  • wordpress做移动商城唐山网站推广优化
  • 购物车网站设计前端开发是干嘛
  • 浙江省建设会计协会网站佛山网站建设联系电话
  • 河南网站建设哪家公司好文字代码生成器
  • 免费的行情网站app软件易企查
  • 下载中心官方网站建设银行齐齐哈尔建设网站
  • 网站建设企业营销网站型销售怎么做
  • 移动端网站 优帮云南宁网站网站建设
  • 深圳微网站建设1688拿货网
  • 哪里找做网站的公司贵阳市做网站的公司
  • 工信部网站icp备案淄博专业网站建设哪家好
  • 纺织品做外贸一般在哪个网站上规模以上工业企业利润总额
  • 网站兼容ie代码松江新城建设有限公司网站
  • 网站功能介绍百度免费资源网站
  • 深圳建站公司好坏怎么制作微信小程序后台运行
  • 网站开发招聘需要免费咨询劳动律师
  • wordpress调用图文列表导航网站怎么做seo