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

深圳设计网站的公司关键词优化的作用

深圳设计网站的公司,关键词优化的作用,龙岗做网站公司,html5毕业设计作品本文属于数据结构专栏文章,适合数据结构入门者学习,涵盖数据结构基础的知识和内容体系,文章在介绍数据结构时会配合上动图演示,方便初学者在学习数据结构时理解和学习,了解数据结构系列专栏点击下方链接。 博客主页&am…

本文属于数据结构专栏文章,适合数据结构入门者学习,涵盖数据结构基础的知识和内容体系,文章在介绍数据结构时会配合上动图演示,方便初学者在学习数据结构时理解和学习,了解数据结构系列专栏点击下方链接。


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:数据结构专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

数据结构入门 — 队列

本文关键字:队列、队列概念及结构、队列实现

文章目录

  • 数据结构入门 — 队列
    • 一、队列的概念及结构
      • 1. 队列的概念
      • 2. 队列的结构
    • 二、队列的实现
      • 1. 队列结构组成
      • 2. 初始化队列
      • 3. 队尾入队列
      • 4. 队头出队列
      • 5. 获取队列头部元素
      • 6. 获取队列队尾元素
      • 7. 获取队列中有效元素个数
      • 8. 检测队列是否为空
      • 9. 销毁队列


一、队列的概念及结构

1. 队列的概念

队列是一种数据结构,它遵循先进先出(First-in, First-out)原则。队列可以看作是一条排队等待服务的线程,其中最先加入队列的元素最先被处理,而最后加入队列的元素最后被处理。

队列有两个端点:队头和队尾。元素从队尾进入队列,从队头出队。队列的基本操作包括入队(enqueue)和出队(dequeue),以及获取队头和队尾元素的操作。队列在计算机科学中有广泛的应用,例如任务调度、缓存管理、路由算法等。

在这里插入图片描述

2. 队列的结构

队列的结构组成通常包括以下几个要素:

结构作用
队列元素队列中可存放的元素,可为任何数据类型
队列大小队列可存放元素的最大数量,即队列的容量
队头指针指向队头元素的指针,表示可以取出的元素
队尾指针指向队尾元素的指针,表示可以插入的元素
入队操作将元素插入队尾的操作
出队操作将队头元素取出的操作
队列空判断判断队列是否为空的操作
队列满判断判断队列是否已满的操作(对于固定大小的队列)

二、队列的实现

1. 队列结构组成

队列结构由链表组成,使用头尾两个指针,用size记录队列里元素个数

typedef int QueDatatype;
typedef struct QueList
{struct QueList* next;QueDatatype data;}QNode;typedef struct QueHeadTail
{QNode* head;QNode* tail;int size;
}QHT;

2. 初始化队列

初始化将头尾两个指针置空,将size置为0

void QueInit(QHT* pc)
{assert(pc);pc->head = pc->tail = NULL;pc->size = 0;
}

3. 队尾入队列

入队,用malloc开辟一个新的空间,分为两种情况当尾指针为空的时候和尾指针不为空时,详细见代码

void QuePush(QHT* pc, QueDatatype x)
{assert(pc);QNode* newnode = (QNode*)malloc(sizeof(QNode));if (newnode == NULL){perror("malloc fail");exit(-1);}newnode->data = x;newnode->next = NULL;if (pc->tail == NULL){pc->head = pc->tail = newnode;}else{pc->tail->next = newnode;pc->tail = newnode;}pc->size++;
}

4. 队头出队列

当头指针的下一个为空时要释放头指针指向的空间,并将头尾指针置为0

void QuePop(QHT* pc)
{assert(pc);assert(!QueEmpty(pc));if (pc->head->next == NULL){free(pc->head);pc->head = pc->tail == NULL;}else{QNode* next = pc->head->next;free(pc->head);pc->head = next;}pc->size--;
}

5. 获取队列头部元素

返回头指针所指向的元素

QueDatatype QueFront(QHT* pc)
{assert(pc);return pc->head->data;
}

6. 获取队列队尾元素

返回尾指针所指向的元素

QueDatatype QueLast(QHT* pc)
{assert(pc);return pc->tail->data;
}

7. 获取队列中有效元素个数

返回size的个数,即有效元素个数

int QueSize(QHT* pc)
{assert(pc);return pc->size;}

8. 检测队列是否为空

当头指针为空时,队列则为空

bool QueEmpty(QHT* pc)
{assert(pc);return pc->head == NULL;
}

9. 销毁队列

先保存下一个数据地址,并释放当前位置的内存空间,并将头尾指针置为空,size置为0

void QueDestroy(QHT* pc)
{assert(pc);QNode* cur = pc->head;while (cur){QNode* delnext = cur->next;free(cur);cur = delnext;}pc->head = pc->tail = NULL;pc->size = 0;
}

在这里插入图片描述

http://www.dinnco.com/news/45292.html

相关文章:

  • 武汉建设信息网站百度搜索关键词热度
  • 做国外零售做什么网站百度云资源
  • 大丰有没有做网站免费b站推广网站下载
  • 企业网站建设论文模板百度健康人工客服电话24小时
  • 衡水做网站的公司广州网站制作服务
  • 微信小程序模版无锡seo优化公司
  • 温州市建设小学学校网站阿里巴巴运营
  • 优质手机网站建设企业深圳市网络品牌推广
  • 外汇跟单社区网站开发百度在线
  • 绵阳市网站建设公司深圳百度seo公司
  • 国内互动网站建设网站推广的方法和途径
  • 网上购物网站开发开题报告seo怎么优化步骤
  • 制作软件的网站域名怎么注册
  • 门户网站备案百度竞价有点击无转化
  • 硅胶东莞网站建设360推广官网
  • 抽奖的网站怎么做的西宁网站seo
  • 第一模板网站上的模板怎么下载百度推广电话客服24小时
  • wordpress流量站网站建设网站
  • 在哪个网站可以做车年检贵阳网站建设推广
  • 武汉做公司网站的公司百度推广人联系方式
  • 泰安市诺盾网络有限公司360网站排名优化
  • css企业网站模板开发网站的流程是
  • 网站多久才能做起来个人如何注册网站
  • 线上咨询预约网站建设方案上海最近3天疫情情况
  • 企业展厅设计公司豆河镇展厅设计公司笔中展览智能优化大师下载
  • 新手学做网站下载女生学网络营销这个专业好吗
  • 在哪家网站做推广好企业培训员工培训平台
  • 网站上滚动海报怎么做免费发seo外链平台
  • 广告设计专业就业前景好吗seo站内优化和站外优化
  • 山西晋城网站建设微博搜索引擎优化