数据结构--栈和队列 3.3队列

news/2024/11/23 9:42:31/

目录

创建一个队列

入列队操作

出列队操作

销毁一个队列


队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。

与栈相反,队列是一种先进先出(First In First Out ,FIFO)的线性表。

同时,队列也是一种重要的线性结构,实现一个队列同样需要顺序表或链表作为基础。

创建一个队列

要完成两个任务

1、在内存中创建一个头节点,

2、将队列的头指针和尾指针都指向这个生成的头节点。

initQueue (LinkQueue *q)
{q->front = q-> rear =(QueuePtr *) malloc(sizeof(QNode));if(!q->front)exit(0);q->front->next=NULL;
}

入列队操作

InsertQueue(LinkQueue *q,ElemType e)
{QueuePtr p;p = (QueuePtr)malloc(sizeof(QNode));if(p==NULL)exit(0);p->data=e;p->next = NULL;q->rear->next = p;q->rear = p; 
}

出列队操作

DeleteQueue(LinkQqueue *q,ElemType *e)
{QueuePtr p;if(q->front == p->rear)return;p=q->front->next;*e = p->data;q->front->next = p->next;if(q-rear ==p)q->rear = q->front;free(p);
}

销毁一个队列


DestroyQueue(LinkQueue *q)
{while(q->front){q->rear = q->front->next;free(q->front);q->front = q->rear;}
}


http://www.ppmy.cn/news/1035584.html

相关文章

matlab使用教程(16)—图论中图的定义与修改

1.修改现有图的节点和边 此示例演示如何使用 addedge 、 rmedge 、 addnode 、 rmnode 、 findedge 、 findnode 及 subgraph 函数访问和修改 graph 或 digraph 对象中的节点和/或边。 1.1 添加节点 创建一个包含四个节点和四条边的图。s 和 t 中的对应元素用于指定每条…

sql批量刷数据

应用场景 新增了一个字段,老数据的该字段都为空,值需要从其他表里去取 解决方法 update gd_lzxx_bztjbb_zb zbset gdstatus 4,gdbjr (select a.create_byfrom (select gdid, create_by, create_timefrom gd_operation_stepwhere create_time >…

idea打jar包

目录 1、打包设置 2、打包介绍 3、开始打包 1、打包设置 先设置要打包的模块信息,即打包进去的内容。如下图所示:File --> Project Structure --> Artifacts,点击+号完成模块创建,其中有两种方式:…

TCP/IP网络江湖初探:物理层的奥秘与传承(物理层上篇-基础与本质)

〇、引言 在这个数字时代,计算机网络如同广袤的江湖,数据在其中畅游,信息传递成为了生活的常态。然而,在这个充满虚拟奇观的网络江湖中,隐藏着一个不容忽视的存在,那就是物理层,这个江湖的基石。就如同江湖中的土地一样,物理层作为计算机网络的基础,承载着数据的最初转…

机器学习基础之《分类算法(1)—sklearn转换器和估计器》

一、转换器 1、什么是转换器 之前做特征工程的步骤: (1)第一步就是实例化了一个转换器类(Transformer) (2)第二步就是调用fit_transform,进行数据的转换 2、我们把特征工程的接口称…

Java“牵手“京东商品详情页面数据获取方法,京东API实现批量商品数据抓取示例

京东商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取京东商品详情数据,您可以通过开放平台的接口或者直接访问京东商城的网页来获取商品详情信息。以下是两种常用方法的介绍: 1. 通…

对redis、redisson、springcache总结

<一> redis-缓存中间件 什么是redis redis是c语言开发的&#xff0c;一个高性能key-value键值对内存数据库&#xff0c;可以用来做数据库、缓存、消息中间件的一种非关系型数据库。 redis数据存储在哪里 内存和磁盘中&#xff0c;但是redis的读写都在内存中&#xff0c;…

【LeetCode-Medium】833. 字符串中的查找与替换

题目链接 833. 字符串中的查找与替换 标签 字符串 步骤 Step1. 初始化 ans[]&#xff1a; for (int i 0; i < s.length(); i) { // 初始化ansans[i] s[i]; }Step2. 根据 index, source, target 查找&#xff1b;如果找到&#xff0c;那么将 ans[i] 更改为 target&am…