青岛大学_王卓老师【数据结构与算法】Week05_14_队列的顺序表示和实现2_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。

一方面用于学习记录与分享,

另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。

如有侵权,请留言作删文处理。

课程视频链接:

数据结构与算法基础–第05周14–3.5队列的表示和实现3–3.5.2队列的顺序表示和实现2

📚 【Week05】14_队列的顺序表示和实现2

循环队列的类型定义

// 最大队列长度
#define MAXQSIZE 100
Typedef struct{// 初始化的动态分配存储空间QElemType* base;// 头指针,若队列不空,则指向队列头元素int front;// 尾指针,若队列不空,则指向队尾元素的下一个位置int rear;
}SqQueue;

循环队列的操作

循环队列的初始化
Status InitQueue(SqQueue& Q){// 分配数组空间Q.base = new QElemType[MAXSIZE];// Q.base = (QElemType*)// malloc(MAXQSIZE* sizeof(QElemType));if(!Q.base)// 存储分配失败exit(OVERFLOW);// 头指针尾指针置为 0,队列为空Q.front = Q.rear = 0;return OK;    
}
求循环队列的长度

在这里插入图片描述

int QueueLength(SqQueue Q){reurn ((Q.rear - Q.front + MAXSIZE)%MAXQSIZE);
}
循环队列的入队
Status EnQueue(SqQueue& Q, QElemType e){if((Q.rear + 1)%MAXQSIZE == Q.front)// 栈满return ERROR;// 新元素加入队尾Q.base[Q.rear] = e;// 队尾指针 + 1Q.rear = (Q.rear + 1)% MAXQSIZE;return OK;
}
循环队列的出队
Status DeQueue(SqQueue& Q, QElemType& e){if(Q.front == Q.rear)// 栈空return ERROR;// 保存队头元素e = Q.base[Q.front];// 队头指针 + 1Q.front = (Q.front + 1)% MAXQSIZE;return OK;
}
取循环队列队头元素
Status GetHead(SqQueue Q){// 队列不为空if(Q.front != Q.rear)// 返回队头指针元素的值,队头指针不变return Q.base[Q.front];
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28640.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科研创新服务平台性能分析案例

前言 信息中心老师反应,用户反馈科研创新服务器平台有访问慢的情况,需要通过流量分析系统来了解系统的运行情况,此报告专门针对系统的性能数据做了分析。 信息中心已部署NetInside流量分析系统,使用流量分析系统提供实时和历史原…

走进人工智能|机器人技术 人机协作新纪元

前言: 机器人技术为人类提供协助、增强生产力,改善生活质量,并推动科技进步和社会发展。 文章目录 序言背景核心技术支持人机协作新纪元目前形式领跑人困难和挑战 总结 机器人技术作为现代科技领域的重要研究方向,已经在各个领域展…

TCP/IP网络编程 第十五章:套接字和标准I/O

标准I/O函数的优点 标准I/O函数的两个优点 将标准I/O函数用于数据通信并非难事。但仅掌握函数使用方法并没有太大意义,至少应该 了解这些函数具有的优点。下面列出的是标准I/O函数的两大优点: □标准I/O函数具有良好的移植性(Portability) □标准I/O函数可以利用缓…

LabVIEW将彩色图像转换到灰度图像

LabVIEW将彩色图像转换到灰度图像 在LabVIEW中使用许多图像处理工具的必要步骤之一是将其从彩色转换为单色。介绍一个开发的应用程序,用于基于LabVIEW软件环境,在所有支持的色彩空间(RGB、HSI、HSV和HSL)中自动将彩色图像转换为灰…

Python爬虫学习笔记(五)————JsonPath解析

目录 1.JSONPath —— xpath在json的应用 2.JSONPath 表达式 3.jsonpath的安装及使用方式 4.jsonpath的使用 5.JSONPath语法元素和对应XPath元素的对比 6.实例 (1)商店案例 (2) 解析淘票票的“城市选择”数据 1.JSONPath…

LCD-液晶显示中英文-9.液晶显示变量程序(整数_浮点数_居中显示等)

目录 液晶显示变量程序(整数_浮点数_居中显示等) 前言 程序 bsp_ili9341_lcd.h bsp_ili9341_lcd.c fonts.h fonts.c main.c 实验现象 液晶显示变量程序(整数_浮点数_居中显示等) 前言 C语言输出printf里面%*d是什么意思&…

list最常用的遍历五种方式以及使用场景

目录 遍历方式的适用场景对比 迭代器遍历 列表迭代器 增强for遍历 Lambda表达式 lambda表达式简介 普通for遍历 集合中通用的并且常用的六种方法 遍历方式的适用场景对比 迭代器遍历 :在遍历过程中需要删除元素,请使用迭代器 列表迭代器&#xff1…

ADB初识

ADB是Android Debug Bridge,是一个命令行程序。abd可以从计算机上通过USB控制Android手机设备。可以使用ADB复制文件、安装和卸载应用程序,运行shell命令等。 ADB的下载配置 Windows版本:https://dl.google.com/android/repository/platform…

EMC学习笔记(十六)射频PCB的EMC设计(三)

射频PCB的EMC设计(三) 1.布线1.1 阻抗控制2.2 转角1.3 微带线布线1.4 微带线耦合器1.5 微带线功分器1.6 微带线基本元件1.7 带状线布线1.8 射频信号走线两边包地铜皮 2.其他设计考虑 1.布线 1.1 阻抗控制 PCB信号走线的阻抗与板材的介电常数、PCB结构、…

【Element】el-dialog 内使用 el-image 并添加 preview-src-list 预览,拖拽导致图片预览不完整问题

现象 el-dialog 内使用 el-image 并添加 preview-src-list 预览&#xff0c;拖拽导致图片预览不完整 <el-dialogwidth"500"v-model"visible":title"activeProp?.name"close"handleClose":draggable"true" // 可拖拽al…

华夏ERP在虚拟机Ubuntu上的安装(测试实例)

1.虚拟机软件VirtualBOX 7.0 2.Ubuntu 版本 3.宝塔面板安装 百度搜索宝塔面板&#xff0c;按官网提示进行安装。下面截图是官网示例。 if [ -f /usr/bin/curl ];then curl -sSO download.cnnbt.net/install_panel.sh;else wget -O install_panel.sh download.cnnbt.net/install…

【C语言】指针数组测试题(1万字长文)

江南可采莲&#xff0c;莲叶何田田。鱼戏莲叶间。鱼戏莲叶东&#xff0c;鱼戏莲叶西&#xff0c;鱼戏莲叶南&#xff0c;鱼戏莲叶北。 — 两汉汉乐府《江南》 这篇博客我们将会讲解一些习题&#xff0c;习题是有关于数组和指针的&#xff0c;数组方面的习题也能帮助我们更好的理…