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

【数据结构/C++】栈和队列_链队列

image.png

#include <iostream>
using namespace std;
// 链队列
typedef int ElemType;
typedef struct LinkNode
{ElemType data;struct LinkNode *next;
} LinkNode;
typedef struct
{LinkNode *front, *rear;
} LinkQueue;
// 初始化
void InitQueue(LinkQueue &Q)
{Q.front = Q.rear = (LinkNode *)malloc(sizeof(LinkNode));Q.front->next = NULL;
}
// 入队
bool EnQueue(LinkQueue &Q, ElemType x)
{LinkNode *p = (LinkNode *)malloc(sizeof(LinkNode));p->data = x;p->next = NULL;Q.rear->next = p;Q.rear = p;return true;
}
// 出队
bool DeQueue(LinkQueue &Q, ElemType &x)
{if (Q.front == Q.rear){return false;}LinkNode *p = Q.front->next;x = p->data;Q.front->next = p->next;// 如果是最后一个结点出队if (Q.rear == p){Q.rear = Q.front;}free(p);return true;
}
// 遍历
void Traverse(LinkQueue Q)
{LinkNode *p = Q.front->next;while (p != NULL){cout << p->data << " ";p = p->next;}cout << endl;
}
// 长度
int QueueLength(LinkQueue Q)
{int length = 0;LinkNode *p = Q.front->next;while (p != NULL){length++;p = p->next;}return length;
}
int main()
{LinkQueue Q;ElemType x;InitQueue(Q);EnQueue(Q, 1);EnQueue(Q, 2);EnQueue(Q, 3);EnQueue(Q, 4);DeQueue(Q, x);Traverse(Q);cout << QueueLength(Q) << endl;return 0;
}

image.png

相关文章:

【数据结构/C++】栈和队列_链队列

#include <iostream> using namespace std; // 链队列 typedef int ElemType; typedef struct LinkNode {ElemType data;struct LinkNode *next; } LinkNode; typedef struct {LinkNode *front, *rear; } LinkQueue; // 初始化 void InitQueue(LinkQueue &Q) {Q.fron…...

C#,《小白学程序》第二十一课:大数的减法(BigInteger Subtract)

1 文本格式 using System; using System.Linq; using System.Text; using System.Collections.Generic; /// <summary> /// 大数的&#xff08;加减乘除&#xff09;四则运算、阶乘运算 /// 乘法计算包括小学生算法、Karatsuba和Toom-Cook3算法 /// </summary> p…...

HarmonyOS ArkTS Video组件的使用(七)

概述 在手机、平板或是智慧屏这些终端设备上&#xff0c;媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集&#xff0c;还是视频的播放、切换、循环&#xff0c;亦或是相机的预览、拍照等功能&#xff0c;媒体组件都是必不可少的。以视频功能为例&a…...

【深度学习实验】注意力机制(四):点积注意力与缩放点积注意力之比较

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 理论介绍a. 认知神经学中的注意力b. 注意力机制 1. 注意力权重矩阵可视化&#xff08;矩阵热图&#xff09;2. 掩码Softmax 操作3. 打分函数——加性注意力模型3. 打分函数——点积注意力与缩放…...

用于图像分类任务的经典神经网络综述

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…...

Linux如何查找某个路径下大于1G的文件

find 命令可以用于在 Linux 或 macOS 系统中查找文件和目录。如果你想查找大于1GB的文件&#xff0c;可以使用 -size 选项结合 参数。以下是一个示例&#xff1a; find /path/to/search -type f -size 1G这里的 /path/to/search 是你要搜索的目录的路径。这个命令将查找该目录…...

Java二级医院区域HIS信息管理系统源码(SaaS服务)

一个好的HIS系统&#xff0c;要具有开放性&#xff0c;便于扩展升级&#xff0c;增加新的功能模块&#xff0c;支撑好医院的业务的拓展&#xff0c;而且可以反过来给医院赋能&#xff0c;最终向更多的患者提供更好的服务。 系统采用前后端分离架构&#xff0c;前端由Angular、J…...

自制编程语言(第三弹)定义Token

终于到了激动人心的实现时候了。为了实现我们的自制语言&#xff0c;我们需要的步骤为&#xff1a; 词法分析语法分析语义分析&#xff08;此处不设置&#xff09;解释器 详细完整的代码可以点击这里查看github项目。 词法分析&#xff1a; 将代码片段识别为关键词、标识符、…...

linux下的工具---yum

一、什么是yum yum是Linux下的软件包管理器 二、什么是软件包管理器 1、在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 2、但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在…...

java全局异常处理(springboot)

介绍&#xff1a; 在日常项目开发中&#xff0c;异常是常见的&#xff0c;但是如何更高效的处理好异常信息&#xff0c;让我们能快速定位到BUG&#xff0c;是很重要的&#xff0c;不仅能够提高我们的开发效率&#xff0c;还能让你代码看上去更舒服&#xff0c;SpringBoot的项目…...

JAVA将PDF转图片

前言 当今时代&#xff0c;PDF 文件已经成为了常用的文档格式。然而&#xff0c;在某些情况下&#xff0c;我们可能需要将 PDF 文件转换为图片格式&#xff0c;以便更方便地分享和使用。这时&#xff0c;我们可以使用 Java 编程语言来实现这个功能。Java 提供了许多库和工具&a…...

合并区间[中等]

一、题目 以数组intervals表示若干个区间的集合&#xff0c;其中单个区间为intervals[i] [starti, endi]。请你合并所有重叠的区间&#xff0c;并返回一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间。 示例 1&#xff1a; 输入&#xff1a;intervals […...

MYSQL基础知识之【LIKE子句的使用 ,NULL值的处理,空值的处理】

文章目录 前言MySQL LIKE 子句在PHP脚本中使用 LIKE 子句 MySQL NULL 值处理在命令提示符中使用 NULL 值使用PHP脚本处理 NULL 值 后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;Mysql &#x1f431;‍&#x1f453;博主在前端领域还有…...

线索二叉树:C++实现

引言&#xff1a; 线索二叉树是一种特殊的二叉树&#xff0c;它可以通过线索&#xff08;线索是指在二叉树中将空指针改为指向前驱或后继的指针&#xff09;的方式将二叉树转化为一个线性结构&#xff0c;从而方便对二叉树进行遍历。本文将介绍如何使用C实现线索二叉树。 技术…...

C++——vector互换容器与预留空间

一.vector互换容器 功能描述:实现两个容器内元进行互换 函数原型: swap(vec); //将vec与本身的元素互换 实例: //1.基本使用 void test01() {vector<int>v1;for (int i 0; i < 10; i){v1.push_back(i);}cout << "交换前:" << e…...

Unity 自带的一些可以操控时间的属性或方法。

今天来总结下Unity自带的一些可以操控时间的方法。 1、Time.time。比较常用计算运行时间而触发特定事件。 public class Controller : MonoBehaviour {public float eventTime 5f; // 触发事件的时间private float startTime; // 游戏开始的时间private void Start(){startT…...

vue 项目中使用 mqtt

1、在html 中用cdn方式引入 <script src"https://unpkg.com/mqtt/dist/mqtt.min.js"></script> 2、封装代码 mqtt_connect.js // import * as mqtt from mqtt/dist/mqtt.min // 不知道为什么 我用引入的方式不成&#xff0c;就在html 用的cdn方式接入了…...

linux shell操作 - 05 进程 与 IO 模型

文章目录 计算机内存分配进程与子进程流IO模型非阻塞IOIO多路复用网络IO模型简单的socket并发的socket 计算机内存分配 一个32位&#xff0c;4G内存的计算机&#xff0c;内存使用分为两部分&#xff1a; 操作系统内核空间&#xff1b;应用程序的用户空间使用的操作系统不同&a…...

让SOME/IP运转起来——SOME/IP系统设计(下)之数据库开发

上一篇我们介绍了SOME/IP矩阵的设计流程&#xff0c;这一篇重点介绍如何把SOME/IP矩阵顺利的交给下游软件团队进行开发。 车载以太网通信矩阵开发完成后&#xff0c;下一步应该做什么&#xff1f; 当我们完成SOME/IP矩阵开发&#xff0c;下一步需要把开发完成的矩阵换成固定格…...

Mybatis反射工厂类DefaultReflectorFactory

DefaultReflectorFactory是反射工厂接口ReflectorFactory的默认实现&#xff0c;其主要是实现了对反射对象Reflector的创建和缓存。 有三个方法&#xff1a; // 判断是否开启缓存boolean isClassCacheEnabled();// 设置是否缓存void setClassCacheEnabled(boolean classCacheEn…...

Qt开发避坑指南:QMediaPlayer播放RTSP流视频,从解码器安装到错误处理全流程

Qt开发实战&#xff1a;QMediaPlayer播放RTSP流视频的深度解决方案 RTSP流媒体播放是Qt多媒体开发中最具挑战性的场景之一。不同于本地视频文件播放&#xff0c;RTSP协议涉及实时传输、网络缓冲、解码器兼容性等多重技术难点。本文将带您深入解决QMediaPlayer在RTSP场景下的各…...

3步实现CS:GO皮肤自定义:nSkinz开源工具深度解析

3步实现CS:GO皮肤自定义&#xff1a;nSkinz开源工具深度解析 【免费下载链接】nSkinz Skin changer for CS:GO 项目地址: https://gitcode.com/gh_mirrors/ns/nSkinz 你是否曾经羡慕CS:GO玩家手中那些炫酷的稀有皮肤&#xff0c;却又不想花费数百美元购买&#xff1f;或…...

甲骨文创始人拉里·埃里森的5个疯狂商业决策:从2000美元到千亿帝国的秘密

拉里埃里森的5个颠覆性商业决策&#xff1a;从硅谷异类到千亿帝国的战略密码 在科技行业的编年史中&#xff0c;很少有企业家像拉里埃里森这样将"反叛"与"成功"如此完美地融合。这位甲骨文创始人从不按常理出牌的商业哲学&#xff0c;创造了一个价值千亿美…...

3个颠覆性技巧:用手柄打造你的跨平台B站娱乐中心

3个颠覆性技巧&#xff1a;用手柄打造你的跨平台B站娱乐中心 【免费下载链接】wiliwili 第三方B站客户端&#xff0c;目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 你是否厌倦了手机小…...

从极简设计到高效标注:gInk屏幕标注工具的技术解析与实践指南

从极简设计到高效标注&#xff1a;gInk屏幕标注工具的技术解析与实践指南 【免费下载链接】gInk An easy to use on-screen annotation software inspired by Epic Pen. 项目地址: https://gitcode.com/gh_mirrors/gi/gInk gInk是一款面向Windows平台的轻量级屏幕标注工…...

FLUX.1-dev像素艺术生成器教程:提示词工程与16-bit风格关键词库

FLUX.1-dev像素艺术生成器教程&#xff1a;提示词工程与16-bit风格关键词库 1. 像素幻梦工坊简介 像素幻梦&#xff08;Pixel Dream Workshop&#xff09;是基于FLUX.1-dev扩散模型构建的新一代像素艺术生成工具。它采用明亮的16-bit像素风格界面设计&#xff0c;为创作者提供…...

Sambert语音合成镜像实战:快速搭建智能客服语音播报系统

Sambert语音合成镜像实战&#xff1a;快速搭建智能客服语音播报系统 1. 业务场景与需求分析 在智能客服系统中&#xff0c;语音播报功能直接影响用户体验。传统解决方案通常面临三个核心痛点&#xff1a; 音质机械感强&#xff1a;拼接式语音合成缺乏自然流畅度情感表达单一…...

惊艳效果!Face Analysis WebUI人脸分析案例:从图片到详细报告

惊艳效果&#xff01;Face Analysis WebUI人脸分析案例&#xff1a;从图片到详细报告 1. 人脸分析技术的新标杆 现代人脸分析技术已经发展到令人惊叹的水平。想象一下&#xff0c;上传一张普通照片&#xff0c;系统就能告诉你照片中每个人的年龄、性别、面部特征甚至头部朝向…...

从调试到量产:手把手教你玩转热成像机芯的UART串口(含常用AT指令集)

从调试到量产&#xff1a;手把手教你玩转热成像机芯的UART串口&#xff08;含常用AT指令集&#xff09; 在工业检测、安防监控和医疗诊断领域&#xff0c;热成像技术的精准度往往取决于硬件与软件的协同效率。而UART串口作为热成像机芯的"神经末梢"&#xff0c;承担着…...

Qwen-Image-2512-Pixel-Art-LoRA新手教程:Gradio界面快捷键与批量操作技巧

Qwen-Image-2512-Pixel-Art-LoRA新手教程&#xff1a;Gradio界面快捷键与批量操作技巧 1. 引言&#xff1a;从单张生成到高效创作 如果你已经体验过Qwen-Image-2512-Pixel-Art-LoRA&#xff0c;看着它生成一张张复古又可爱的像素画&#xff0c;可能会觉得&#xff1a;“这效果…...