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

导航仪企业网站源码石家庄网址服务

导航仪企业网站源码,石家庄网址服务,设计公司网站设计详情,网站布局有哪些数据结构——队列的实现(单链表) 一.队列1.1队列的概念及结构 二.队列的实现2.1 头文件的实现——(Queue.h)2.2 源文件的实现—— (Queue.c)2.3 源文件的实现—— (test.c) 三.队列的…

数据结构——队列的实现(单链表)

  • 一.队列
    • 1.1队列的概念及结构
  • 二.队列的实现
    • 2.1 头文件的实现——(Queue.h)
    • 2.2 源文件的实现—— (Queue.c)
    • 2.3 源文件的实现—— (test.c)
  • 三.队列的实际数据测试展示
    • 3.1正常出队列入队列
    • 3.2 入队列的同时存在出队列

一.队列

1.1队列的概念及结构

在这里插入图片描述

二.队列的实现

2.1 头文件的实现——(Queue.h)

Queue.h
#pragma once#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<assert.h>typedef int QDataType;
typedef struct QueueNode
{QDataType val;struct QueueNode* next;
}QNode;typedef struct Queue
{QNode* phead;QNode* ptail;int size;
}Queue;//初始化/销毁
void QueueInit(Queue* pq);
void QueueDestroy(Queue* pq);//出队/入队
void QueuePush(Queue* pq, QDataType x);
void QueuePop(Queue* pq);
//获取队头元素/队尾元素
QDataType QueueFront(Queue* pq);
QDataType QueueBack(Queue* pq);
//判空/统计队列元素个数
bool QueueEmpty(Queue* pq);
int QueueSize(Queue* pq);

2.2 源文件的实现—— (Queue.c)

Queue.c
#include"Queue.h"//初始化/销毁
void QueueInit(Queue* pq)
{assert(pq);pq->phead = pq->ptail = NULL;pq->size = 0;
}
void QueueDestroy(Queue* pq)
{assert(pq);QNode* cur = pq->phead;while (cur){QNode* Next = cur->next;free(cur);cur = Next;}pq->phead = pq->ptail = NULL;pq->size = 0;
}//队尾入队/队首出队
void QueuePush(Queue* pq, QDataType x)
{assert(pq);QNode* Newnode = (QNode*)malloc(sizeof(QNode));if (Newnode == NULL){perror("malloc fail");return;}Newnode->val = x;Newnode->next = NULL;if (pq->phead == NULL){pq->phead = pq->ptail = Newnode;}else{pq->ptail->next = Newnode;pq->ptail = pq->ptail->next;}pq->size++;
}
void QueuePop(Queue* pq)
{assert(pq);assert(pq->phead);QNode* del = pq->phead;pq->phead = pq->phead->next;free(del);del = NULL;if (pq->phead == NULL)pq->ptail = NULL;pq->size--;}//获取队头元素/队尾元素
QDataType QueueFront(Queue* pq)
{assert(pq);assert(pq->phead);return pq->phead->val;
}
QDataType QueueBack(Queue* pq)
{assert(pq);assert(pq->ptail);return pq->ptail->val;}
//判空/统计队列元素个数
bool QueueEmpty(Queue* pq)
{assert(pq);return pq->phead == NULL;
}
int QueueSize(Queue* pq)
{assert(pq);return pq->size;
}

2.3 源文件的实现—— (test.c)

test.c
#include"Queue.h"int main()
{Queue S;QueueInit(&S);QueuePush(&S, 1);QueuePush(&S, 2);printf("%d ", QueueFront(&S));QueuePop(&S);QueuePush(&S, 3);QueuePush(&S, 4);printf("%d ", QueueFront(&S));QueuePop(&S);QueuePush(&S, 5);while (!QueueEmpty(&S)){printf("%d ", QueueFront(&S));QueuePop(&S);}QueueDestroy(&S);
}

三.队列的实际数据测试展示

1.出入队列的方式:队尾进入,对首出队列。
2.出队列和入队列的关系是:一对一的。

3.1正常出队列入队列

在这里插入图片描述

3.2 入队列的同时存在出队列

在这里插入图片描述

http://www.cairui.net.cn/news/322/

相关文章:

  • 免费建立网站有必要吗wordpress 主题 简介
  • 网站推广优化的公司wordpress 附件地址
  • wordpress添加好友搜索引擎优化的英语简称
  • 网站流量的重要性东莞关键词排名快速优化
  • 赤峰网站建设赤峰快速做效果图的网站叫什么
  • 免费在线自助建站国内使用vue做的网站
  • 如何做好网站推广营销网站搬家
  • 网站网站怎么做在线考试类网站怎么做
  • 网站优化外包修改wordpress登陆界面
  • 做家政在哪个网站找asp.net 网站开发视频
  • 盐城网站开发效果线上企业推广公司
  • 做美图网站有哪些东西吗商业空间设计方案ppt
  • 建筑网站大全豆丁网wordpress评论区美化
  • 网站地图怎样做wordpress 标题长度 省略号
  • 玉溪网站建设微信自助下单小程序怎么弄
  • 程序员做任务的网站北京市建设厅网站首页
  • 西安汽车网站制作安徽网站开发与维护专业
  • vs2008 新建网站广州手机网站制作
  • 濮阳做网站的公司有哪些怎样做cms电影网站赚钱
  • 葫芦岛网站公司做影视网站该怎么发展
  • 建设网站前需要的市场分析asp怎么新建网站
  • 大朗网站建设公司中国战略咨询公司排名
  • 有平面广告设计的网站东莞地图
  • 怎么通过所有的网站推广广告辽宁建设工程招标信息网官网
  • 珠海网站区块链开发用什么语言
  • 做的好的网站有哪些成都装修公司前十口碑推荐
  • 国外修图教程网站网站开发整体制作流程
  • 泉州网站建设方案详细杭州网站设计予尚
  • 邯郸做wap网站价格网站建设要咨询哪些内容
  • 网站建设企业电话电子商务运营推广