数据结构与算法课后题-第三章(顺序队和链队)











#include <iostream> //引入头文件
using namespace std;typedef int Elemtype;#define Maxsize 5
#define ERROR 0
#define OK 1typedef struct
{Elemtype data[Maxsize];int front, rear;int tag;
}SqQueue;void InitQueue(SqQueue& Q) //初始化队列
{Q.rear = Q.front = 0;Q.tag = 0;
}bool isEmpty(SqQueue Q) //判断队空
{if (Q.rear == Q.front&& Q.tag==0 ) return OK;else return ERROR;
}bool EnQueue(SqQueue& Q, Elemtype x)
{if (Q.front==Q.rear&&Q.tag==1) //队满{cout << "堆满啦,请腾出些许空间" << endl;return ERROR; //队满报错}Q.data[Q.rear] = x;Q.rear = (Q.rear + 1) % Maxsize;Q.tag = 1;return OK;
}bool DeQueue(SqQueue& Q, Elemtype& x) //队空报错
{if (Q.rear == Q.front&&Q.tag==0) return ERROR;x = Q.data[Q.front];Q.front = (Q.front + 1) % Maxsize;Q.tag = 0;return OK;
}int main(void)
{SqQueue Q;InitQueue(Q);EnQueue(Q, 1);EnQueue(Q, 2);EnQueue(Q, 3);EnQueue(Q, 4);EnQueue(Q, 5);for (int i = 0; i < Maxsize; i++)printf("data[%d]=%d\n", i, Q.data[i]);return 0;
}

#include <iostream> //引入头文件
using namespace std;typedef int Elemtype;#define Maxsize 5
#define ERROR 0
#define OK 1//====================队列---这样是循环队列,需要牺牲一位====================//
typedef struct
{Elemtype data[Maxsize];int front, rear;
}SqQueue;void InitQueue(SqQueue& Q) //初始化队列
{Q.rear = Q.front = 0;
}bool QueueEmpty(SqQueue Q) //判断队空
{if (Q.rear == Q.front) return OK;else return ERROR;
}bool EnQueue(SqQueue& Q, Elemtype x) //进队
{if ((Q.rear + 1) % Maxsize == Q.front) //判断队列是否满{cout << "堆满啦,请释放一些空间" << endl;return ERROR; //队满报错}Q.data[Q.rear] = x;Q.rear = (Q.rear + 1) % Maxsize;return OK;
}bool DeQueue(SqQueue& Q, Elemtype& x) //退队
{if (Q.rear == Q.front) return ERROR; //判断队列是为空x = Q.data[Q.front];Q.front = (Q.front + 1) % Maxsize;return OK;
}
//=====================================================================////========================堆栈---这样是顺序堆栈========================//
typedef struct
{Elemtype data[Maxsize];int top;
}SqStack;void InitStack(SqStack& S)
{S.top = -1;
}
bool StackEmpty(SqStack S)
{if (S.top == -1) //堆空return OK;else //不空return ERROR;
}bool Push(SqStack& S, Elemtype x)
{if (S.top == Maxsize - 1)return ERROR;S.data[++S.top] = x;return OK;
}bool Pop(SqStack& S, Elemtype& x)
{if (S.top == -1)return ERROR;x = S.data[S.top--];return OK;
}bool GetTop(SqStack& S, Elemtype& x)
{if (S.top == -1)return ERROR;x = S.data[S.top];return OK;
}
//=====================================================================//void Inverse(SqStack& S, SqQueue& Q)
{int x = 0;while (!QueueEmpty(Q)){DeQueue(Q,x);Push(S, x);}Q.rear = Q.front = 0;while (!StackEmpty(S)){Pop(S, x);EnQueue(Q, x);}
}
int main(void)
{SqQueue Q;SqStack S;InitQueue(Q);InitStack(S);EnQueue(Q, 1);EnQueue(Q, 2);EnQueue(Q, 3);EnQueue(Q, 4);for (int i = 0; i < Maxsize; i++)printf("data[%d]=%d\n", i, Q.data[i]);Inverse(S, Q);for (int i = 0; i < Maxsize; i++)printf("data[%d]=%d\n", i, Q.data[i]);return 0;
}相关文章:
数据结构与算法课后题-第三章(顺序队和链队)
#include <iostream> //引入头文件 using namespace std;typedef int Elemtype;#define Maxsize 5 #define ERROR 0 #define OK 1typedef struct {Elemtype data[Maxsize];int front, rear;int tag; }SqQueue;void InitQueue(SqQueue& Q) //初始化队列 {Q.rear …...
SSM - Springboot - MyBatis-Plus 全栈体系(十六)
第三章 MyBatis 三、MyBatis 多表映射 2. 对一映射 2.1 需求说明 根据 ID 查询订单,以及订单关联的用户的信息! 2.2 OrderMapper 接口 public interface OrderMapper {Order selectOrderWithCustomer(Integer orderId); }2.3 OrderMapper.xml 配置…...
k8s--storageClass自动创建PV
文章目录 一、storageClass自动创建PV1.1 安装NFS1.2 创建nfs storageClass1.3 测试自动创建pv 一、storageClass自动创建PV 这里使用NFS实现 1.1 安装NFS 安装nfs-server: sh nfs_install.sh /mnt/data03 10.60.41.0/24nfs_install.sh #!/bin/bash### How to i…...
7.3 调用函数
前言: 思维导图: 7.3.1 函数调用的形式 我的笔记: 函数调用的形式 在C语言中,调用函数是一种常见的操作,主要有以下几种调用方式: 1. 函数调用语句 此时,函数调用独立存在,作为…...
如果使用pprof来进行性能的观测和优化
1. 分析性能瓶颈 在开始优化之前,首先需要确定你的程序的性能瓶颈在哪里。使用性能分析工具(例如 Go 的内置 pprof 包)来检测程序中消耗时间和内存的地方。这可以帮助你确定需要优化的具体部分。 2. 选择适当的数据结构和算法 选择正确的数…...
在移动固态硬盘上安装Ubuntu系统和ROS2
目录 原视频准备烧录 原视频 b站鱼香ros 准备 1.在某宝上买一个usb移动固态硬盘或固态U盘,至少64G 2.下载鱼香ros烧录工具 下载第二个就行了,不然某网盘的速度下载全部要一天 下载后,选择FishROS2OS制作工具压缩包,进行解压…...
【iptables 实战】02 iptables常用命令
一、iptables中基本的命令参数 -P 设置默认策略-F 清空规则链-L 查看规则链-A 在规则链的末尾加入新规则-I num 在规则链的头部加入新规则-D num 删除某一条规则-s 匹配来源地址IP/MASK,加叹号“!”表示除这个IP外-d 匹配目标地址-i 网卡名称 匹配从这块…...
webview_flutter
查看webview内核 https://liulanmi.com/labs/core.html h5中获取设备 https://cloud.tencent.com/developer/ask/sof/105938013 https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/mediaDevices web资源部署后navigator获取不到mediaDevices实例的解决方案&…...
【GESP考级C++】1级样题 闰年统计
GSEP 1级样题 闰年统计 题目描述 小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(包含起始年份和终止年份)有几个闰年。你能帮帮他吗? 输入格式 输入一行,包含两个整数,分别表示起始年份和终止…...
CentOS密码重置
背景: 我有一个CentOS虚拟机,但是密码忘记了,偶尔记起可以重置密码,于是今天尝试记录一下,又因为我最近记性比较差,所以必须要记录一下。 过程: 1、在引导菜单界面(grubÿ…...
Tomcat Servlet
Tomcat & Servlet 一、What is “Tomcat”?二、 What is “Servlet”?1、HttpServlet2、HttpServletRequest3、HttpServletResponse 一、What is “Tomcat”? Tomcat 本质上是一个基于 TCP 协议的 HTTP 服务器。我们知道HTTP是一种应用层协议,是 HTTP 客户端…...
国庆day2---select实现服务器并发
select.c: #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)#define IP "192.168.1.3" #define PORT 8888int main(int argc, const char *argv[]) {//创建报式套接字socketi…...
Grafana 开源了一款 eBPF 采集器 Beyla
eBPF 的发展如火如荼,在可观测性领域大放异彩,Grafana 近期也发布了一款 eBPF 采集器,可以采集服务的 RED 指标,本文做一个尝鲜介绍,让读者有个大概了解。 eBPF 基础介绍可以参考我之前的文章《eBPF Hello world》。理…...
亲测可用国产GPT人工智能
分享一些靠谱、可用、可以白嫖的GPT大模型。配合大模型,工作效率都会极大提升。 清华大学ChatGLM 官网: 智谱清言中国版对话语言模型,与GLM大模型进行对话。https://chatglm.cn/开源的、支持中英双语的1300亿参数的对话语言模型࿰…...
适配器模式详解和实现(设计模式 四)
适配器模式将一个类的接口转换成客户端所期望的另一个接口,解决由于接口不兼容而无法进行合作的问题。 设计基本步骤 1. 创建目标接口(Target Interface),该接口定义了客户端所期望的方法。 2.创建被适配类(Adaptee…...
IDEA的使用
文章目录 1.IDEA配置1.1 idea界面说明1.2 git1.3 JDK1.4 maven1.5 Tomcat1.6 idea设置编码格式1.7 vscodenodejs1.8 windows下安装redis 2. IDEA问题2.1 setAttribute方法爆红2.2 idea cannot download sources解决办法2.3 springboot项目跑起来不停run 3. vscode3.1 vscode显示…...
CSS详细基础(二)文本样式
插播一条CSS的工作原理: CSS是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和显示的方式。CSS样式可以直接存储于HTML网页或者单独的样式单文件。无论哪一种方式,样式单包含将样式应用到指定类型的元素的规则。…...
win10系统任务栏图标变成白色的解决办法
我平时都是用滴答清单进行管理这个自己的日程代办的,但是今天打开的时候发现这个快捷方式突然变成纯白色的了,重启电脑之后,这个图标的样式仍然没有变化。上网查找解决办法之后,终于搞好了,于是就有了下面的教程。 为什…...
hadoop生态现状、介绍、部署
一、引出hadoop 1、hadoop的高薪现状 各招聘平台都有许多hadoop高薪职位,可以看看职位所需求的技能 ----> hadoop是什么,为什么会这么高薪?引出大数据,大数据时代,大数据与云计算 2、大数据时代的介绍 大数据的故事…...
二、EFCore 数据库表的创建和迁移
文章目录 一、数据库连接二、数据库表迁移一、数据库连接 在NuGet上安装EntityFramework 代码如下: Microsoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.Extensions.Configuration.Json配置数据连接 appsettings.json 增加数据库连接配置 &quo…...
OpenClaw CLI:在终端无缝集成AI智能体的MCP服务器部署指南
1. 项目概述:OpenClaw CLI,一个连接终端与智能体的桥梁 如果你和我一样,日常开发工作大部分时间都泡在终端里,同时又对AI智能体(Agent)的自动化能力垂涎三尺,那么你肯定也遇到过这样的痛点&…...
Deep SORT:如何用深度关联度量实现95%+准确率的实时多目标追踪?
Deep SORT:如何用深度关联度量实现95%准确率的实时多目标追踪? 【免费下载链接】deep_sort Simple Online Realtime Tracking with a Deep Association Metric 项目地址: https://gitcode.com/gh_mirrors/de/deep_sort 在计算机视觉领域ÿ…...
redis之典型应用-缓存cache
什么是缓存缓存 (cache) 是计算机中的一个经典的概念. 在很多场景中都会涉及到. 核心思路就是把一些常用的数据放到触手可及(访问速度更快)的地方, 方便随时读取。大部分的时候, 缓存只放一些 热点数据 (访问频繁的数据),对于硬件的访问速度来说, 通常情况下: CPU 寄存器 > …...
STM32实战:手把手教你用Cubemx配置交流充电桩的CP信号检测(附代码)
STM32实战:从零构建充电桩CP信号检测系统 充电桩作为新能源汽车基础设施的核心组件,其通信协议的可靠性直接关系到充电安全。在实际工程中,CP(Control Pilot)信号的检测往往是开发者的第一个技术拦路虎。我曾在一个海外…...
MathType 快捷键实战指南——数学建模效率飙升的秘诀(从入门到精通)
1. 为什么你需要掌握MathType快捷键? 如果你经常需要处理数学公式,肯定遇到过这样的场景:为了输入一个简单的积分符号,不得不从工具栏里翻找半天;调整公式对齐时反复用鼠标拖动;修改矩阵维度时逐个单元格调…...
2026 年全球网络安全威胁态势与关键技术防御研究
摘要 本文基于 Security Affairs 2026 年第 576 期安全通讯披露的最新网络攻击事件与漏洞情报,系统分析 Linux 无文件远控、内核提权、AI 供应链投毒、钓鱼攻击工业化、关键信息基础设施入侵等新型威胁的技术机理、传播路径与危害特征。研究结合 Quasar Linux RAT、…...
外汇延迟套利检测系统演进:从规则到AI的行为博弈
1. 项目概述:当速度优势不再是护城河 在电子外汇交易的世界里,速度套利一直是一个古老而又充满技术魅力的游戏。它的核心逻辑简单到近乎纯粹:如果你能比你的交易对手更快地获取到市场价格变动的信息,你就能在对手更新其报价之前&a…...
魔兽争霸3现代兼容性终极解决方案:WarcraftHelper深度优化指南
魔兽争霸3现代兼容性终极解决方案:WarcraftHelper深度优化指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为经典即时战略…...
一台电脑变四台主机:Nucleus Co-Op如何让单人游戏秒变多人派对?
一台电脑变四台主机:Nucleus Co-Op如何让单人游戏秒变多人派对? 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 想象一下&a…...
为什么你需要LRCGET:5步为离线音乐库实现完美歌词同步
为什么你需要LRCGET:5步为离线音乐库实现完美歌词同步 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget 还在为数千首离线音乐缺少歌词而烦恼…...
