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

内设网站网站后端都需要什么意思

内设网站,网站后端都需要什么意思,天津建设工程信息网中标公告,188建站系统源码前言#xff1a;上次我们已经学习了数据结构中一个重要的线性表—栈#xff0c;那么我们这一次就来学习另外一个重要的线性表—队列。 目录#xff1a; 一、 队列的概念 二、 队列的实现#xff1a; 1.队列的创建 三、 队列的操作 1.初始化队列 2.队尾入队列 3.队头出队列… 前言上次我们已经学习了数据结构中一个重要的线性表—栈那么我们这一次就来学习另外一个重要的线性表—队列。 目录 一、 队列的概念 二、 队列的实现 1.队列的创建 三、 队列的操作 1.初始化队列 2.队尾入队列 3.队头出队列 4.获取队列头部元素 5.获取队列队尾元素 6.获取队列中有效元素个数 7.检测队列是否为空如果为空返回非零结果如果非空返回0 8.销毁队列 四、 完整代码展示 队列的概念 队列的概念及结构队列只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表队列具有先进先出FIFO(First In First Out) 入队列进行插入操作的一端称为队尾 出队列进行删除操作的一端称为队头。 队列的实现 队列也可以数组和链表的结构实现使用链表的结构实现更优一些因为如果使用数组的结构出队列在数组头上出数据效率会比较低。 我们用三个文件来完成对它的操作。 队列的创建 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) {assert(pq);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-ptail NULL){pq-ptail pq-phead newnode;}else{pq-ptail-next newnode;pq-ptail newnode;}pq-size; }如果我们的队尾元素为空那么我们的队尾就是newnode如果我们的队尾不为空我们的ptail的下一个指向newnode现在的队尾就为newnode。 队头出队列 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; }获取队列中有效元素个数 int QueueSize(Queue* pq) {assert(pq);return pq-size; }size就是我们有效元素的个数这里返回size就可以了。 检测队列是否为空如果为空返回非零结果如果非空返回0 bool QueueEmpty(Queue* pq) {assert(pq);return pq-phead NULL; }队列为空返回0不为空返回非0后面测试代码的循环条件就是不为0就输出为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; }完整代码展示 Queue.h #pragma once #includestdio.h #includeassert.h #includestdlib.h #includestdbool.htypedef 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);Queue.c #includeQueue.hvoid 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-ptail NULL){pq-ptail pq-phead newnode;}else{pq-ptail-next newnode;pq-ptail newnode;}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; }代码测试 test.c: #includeQueue.h int main() {Queue q;QueueInit(q);QueuePush(q, 1);QueuePush(q, 2);QueuePush(q, 3);printf(%d , QueueFront(q));QueuePop(q);printf(%d , QueueFront(q));QueuePop(q);QueuePush(q, 4);QueuePush(q, 5);while (!QueueEmpty(q)){printf(%d , QueueFront(q));QueuePop(q);}QueueDestroy(q);return 0; }这里我们先入队1,23队头就是1队尾就是3我们在出队先输出1在把1出队这样我们就访问2在输出2之后把2出队入队4,5如果我们的队列不为0就输出3,45。最后输出的结果如下图 相信大家一定可以完美的拿捏队列感谢各位小伙伴的支持我们下期再见
http://www.yayakq.cn/news/6310/

相关文章:

  • 东莞化妆品网站建设河间建设网站
  • 做期货看资讯什么网站好济南seo优化公司
  • 中国建设银行网站主页网站排名不可有利就前
  • 网站建设必须要在阿里云备案吗做搜狗网站优化点
  • 网站 文件 上传小型网站怎样优化
  • 保定免费建站服务山东振国网站建设
  • 低价网站备案一建二建报考条件及专业要求
  • 北京大学网站开发的需求分析看房地产的app在哪看
  • 网站在线做照片广告策划案ppt优秀案例
  • 做网站是否用数据库wordpress站点如何适应手机
  • 网站做的app有哪些漳州网站建设到博大赞
  • 房城乡建设部门户网站网站平台建设流程
  • 做网站开发的步骤广州专业网站建设哪里有
  • 建立企业网站的形式有河南省建设厅网站门户
  • 宁波 做网站的网站制作深圳
  • 注册一个logo需要多少钱威海优化联系电话
  • 网站排名稳定后后期如何优化wordpress 通过电子邮件发布
  • 网站建设作品深圳少儿编程培训机构
  • 做个网站app吗网站建设推广公司
  • 网站建设对比分析天猫怎么开店铺
  • wordpress精简代码合肥百度推广优化排名
  • 部门网站集约化建设方案陕西seo
  • wordpress怎么调用外部主题网页seo资讯
  • 北苑网站建设网站如何做rss订阅
  • 做网站视频下载WordPress 云锁
  • wordpress 调用编辑器湖南正规关键词优化
  • 企业网站类型主要包括美业o2o平台有哪些
  • 上海浦东设计网站建设seo网络推广招聘
  • 设计导航网站大全see成都必去的地方排行
  • 网站建设全包公司推荐邢台网站建设联系电话