数据结构——队列
1.队列元素逆置
【问题描述】
已知Q是一个非空队列,S是一个空栈。仅使用少量工作变量以及对队列和栈的基本操作,编写一个算法,将队列Q中的所有元素逆置。
【输入形式】
输入的第一行为队列元素个数,第二行为队列从首至尾的元素
【输出形式】
输出队列的逆置
【样例输入】
3 1 2 3
【样例输出】
3 2 1
【评分标准】
需采用队列与栈的知识,否则不能得分
C语言
#include <stdio.h>
#include <stdlib.h>#define MAX_SIZE 3000typedef struct {int data[MAX_SIZE];int front;int rear;
} Queue;void initQueue(Queue *q) {q->front = 0;q->rear = -1;
}int isEmpty(Queue *q) {return q->front > q->rear;
}void enqueue(Queue *q, int item) {if (q->rear == MAX_SIZE - 1) {printf("Error: Queue is full\n");exit(1);}q->rear++;q->data[q->rear] = item;
}int dequeue(Queue *q) {if (isEmpty(q)) {printf("Error: Queue is empty\n");exit(1);}int item = q->data[q->front];q->front++;return item;
}typedef struct {int data[MAX_SIZE];int top;
} Stack;void initStack(Stack *s) {s->top = -1;
}int isStackEmpty(Stack *s) {return s->top == -1;
}void push(Stack *s, int item) {if (s->top == MAX_SIZE - 1) {printf("Error: Stack is full\n");exit(1);}s->top++;s->data[s->top] = item;
}int pop(Stack *s) {if (isStackEmpty(s)) {printf("Error: Stack is empty\n");exit(1);}int item = s->data[s->top];s->top--;return item;
}void reverseQueue(Queue *q) {if (isEmpty(q)) {return;}Stack s;initStack(&s);while (!isEmpty(q)) {push(&s, dequeue(q));}while (!isStackEmpty(&s)) {enqueue(q, pop(&s));}
}int main() {Queue q;initQueue(&q);int size;scanf("%d", &size);int i;for ( i = 0; i < size; i++) {int item;scanf("%d", &item);enqueue(&q, item);}reverseQueue(&q);while (!isEmpty(&q)) {printf("%d ", dequeue(&q));}printf("\n");return 0;
}
C++
#include<stdio.h>
int main()
{int QUEUE[1000],STACK[1000],i,n,temp,top,front,rear;front=rear=top=-1;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&temp);rear++;QUEUE[rear]=temp;}for(i=0;i<n;i++){temp=QUEUE[++front];STACK[++top]=temp;}while(top!=-1){printf("%d ",STACK[top]);top--;}return 0;
}
相关文章:
数据结构——队列
1.队列元素逆置 【问题描述】 已知Q是一个非空队列,S是一个空栈。仅使用少量工作变量以及对队列和栈的基本操作,编写一个算法,将队列Q中的所有元素逆置。 【输入形式】 输入的第一行为队列元素个数,第二行为队列从首至尾的元素…...
【Unity引擎核心-Object,序列化,资产管理,内存管理】
文章目录 整体介绍Native & Managed Objects什么是序列化序列化用来做什么Editor和运行时序列化的区别脚本序列化针对序列化的使用建议 Unity资产管理导入Asset Process为何要做引擎资源文件导入Main-Assets和 Sub-Assets资产的导入管线Hook,AssetPostprocessor…...
Generics/泛型, ViewBuilder/视图构造器 的使用
1. Generics 泛型的定义及使用 1.1 创建使用泛型的实例 GenericsBootcamp.swift import SwiftUIstruct StringModel {let info: String?func removeInfo() -> StringModel{StringModel(info: nil)} }struct BoolModel {let info: Bool?func removeInfo() -> BoolModel…...
数据结构之手撕顺序表(增删查改等)
0.引言 在本章之后,就要求大家对于指针、结构体、动态开辟等相关的知识要熟练的掌握,如果有小伙伴对上面相关的知识还不是很清晰,要先弄明白再过来接着学习哦! 那进入正题,在讲解顺序表之前,我们先来介绍…...
进阶JAVA篇- ZoneId 类与 ZoneDateTime 类、Instant类的常用API(七)
目录 API 1.0 ZoneId 类的说明 1.1 如何创建 ZoneId 类的对象呢? 1.2 ZoneId 类中的 getAvailableZoneIds() 静态方法 2.0 ZoneDateTime 类的说明 2.1 如何创建 ZoneDateTime 类的对象呢? 3.0 Instant 类的说明 3.1 如何创建 Instant 类的对象呢…...
bat脚本字符串替换:路径中\需要替换,解决一些文件写入路径不对的问题
脚本 set dir_tmp%~dp0 set dir%dir_tmp:\\\\\% set dir_tmp%~dp0 新建一个变量dir_tmp,存储获取的脚本当前路径 set dir%dir_tmp:\\\\\% 新建一个变量dir ,存储字符串替换之后的路径 其中黄色的\\实际上代表的是一个\...
python一行命令搭建web服务,实现内网共享文件
python一行命令搭建web服务,实现内网共享文件 有时候我们在本地电脑访问自己的虚拟机的时候,可能因为某些原因无法直接CV文件到虚拟机。但此时我们又想上传文件到虚拟机,如果虚拟机和本地电脑可以互通。那么我们可以直接通过python来启动一个…...
RK3562开发板:升级摄像头ISP,突破视觉体验边界
RK3562开发板作为深圳触觉智能新推出的爆款产品,采用 Rockchip 新一代 64 位处理器 RK3562(Quad-core ARM Cortex-A53,主频最高 2.0GHz),最大支持 8GB 内存;内置独立的 NPU,可用于轻量级人工智能…...
数据结构与算法-队列
队列 🎈1.队列的定义🎈2.队列的抽象数据类型定义🎈3.顺序队列(循环队列)🔭3.1循环队列🔭3.1循环队列类定义🔭3.2创建空队列🔭3.3入队操作🔭3.4出队操作&#…...
腾讯云轻量2核4G5M可容纳多少人访问?
腾讯云2核4G5M服务器支持多少人在线访问?卡不卡?腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?5M带宽下载速度峰值可达640KB/秒,阿腾云以搭建网站为例,假设优化后平均大小为60KB,则5M带宽可支撑10个用户…...
【分布式计算】九、容错性 Fault Tolerance
分布式系统应当有一定的容错性,发生故障时仍能运行 一些概念: 可用性Availability:系统是否准备好立即使用 可靠性Reliability:系统连续运行不发生故障 安全性:衡量安全故障的指标,没有严重事件发生 可维护…...
The SDK location is inside Studio install location 解决
The SDK location is inside Studio install location 解决 安装 Android Studio SDK 时提示:The SDK location is inside Studio install location 解决 问题: 由于 SDK 与 编辑器(Android Studio)的安装在同一目录下所以报错。 解决 你需要在 Andro…...
【蓝桥】数树数
一、题目 1、题目描述 给定一个层数为 n n n 的满二叉树,每个点编号规则如下: 具体来说,二叉树从上往下数第 p p p 层,从左往右编号分别为:1,2,3,4,…, 2p-1。 给你一条从根节点开始的路径࿰…...
2、Windows下安装
目录 一.安装 1、双击下载的程序: 2、加载完成后,会进入如下界面(选第一个Developer Default) 3、然后点击Next 点击Execute 然后Next 4.继续next注意端口为3306 5.继续next,输入账户密码(要有大小写…...
vue中transition的使用
Vue中的<transition>组件用于在元素或组件添加/移除时应用过渡动画。它能够包裹需要进行过渡效果的元素或组件,通过设置相应的CSS样式来实现过渡动画效果。 <transition name"过渡效果名称" before-enter"beforeEnter" enter"…...
性能测试中如何使用RunnerGo还原混合并发场景
我们在进行软件开发时经常需要进行性能测试、压力测试和负载测试。其中有一类测试场景叫做混合并发测试,需要模拟多个接口下不同数量的用户使用场景,检查同时处理多个并发任务的能力,本文将展示如何使用开源的RunnerGo还原混合并发场景。 在…...
KanziStudio described using object-oriented design patterns(持续更新...)
1.绑定-mvc mvc,model数据与view控件分离。...
线程同步的几种方式
目录 互斥锁条件变量读写锁信号量CAS-- 参考 线程同步方式有互斥锁,条件变量,信号量,读写锁,CAS锁等方式 互斥锁 互斥量 pthread_mutex_t在执行操作之前加锁,操作完之后解锁. 使用互斥量,来确保同一时刻只…...
Linux网络编程系列之服务器编程——多路复用模型
一、什么是多路复用模型 服务器的多路复用模型指的是利用操作系统提供的多路复用机制,同时处理多个客户端连接请求的能力。在服务器端,常见的多路复用技术包括select、poll和epoll等。这些技术允许服务器同时监听多个客户端连接请求,当有请求…...
在SQL语句里使用正则表达式,因该怎么使用
在SQL中使用正则表达式通常需要使用特定的函数或运算符,具体的语法可能因不同的数据库系统而有所不同。以下是使用正则表达式的一般方法,但请注意,具体语法可能会因您使用的数据库而有所不同。 一般情况下,您可以使用以下方法在S…...
OpenRocket终极指南:专业火箭设计与飞行仿真软件完全解析
OpenRocket终极指南:专业火箭设计与飞行仿真软件完全解析 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket OpenRocket是一款功能强大的开源火箭…...
造相Z-Image文生图模型v2:3步搭建你的专属AI画师
造相Z-Image文生图模型v2:3步搭建你的专属AI画师 1. 为什么选择Z-Image v2作为你的AI画师 在众多文生图模型中,造相Z-Image v2以其独特的优势脱颖而出。作为阿里通义万相团队开源的高性能模型,它原生支持768768及以上分辨率的高清图像生成&…...
RT-Thread下STM32与BH1750光照传感器的快速驱动实现
1. RT-Thread与BH1750的完美组合 第一次接触BH1750光照传感器时,我还在用裸机开发。当时为了调试IIC通讯,整整花了两天时间排查时序问题。后来接触到RT-Thread,发现它的软件包生态简直是为传感器开发量身定制的。就拿BH1750来说,官…...
从单工具到插件集:在Coze IDE里用Python/Node.js打造你的专属工具链
从单工具到插件集:在Coze IDE里用Python/Node.js打造你的专属工具链 在当今快速发展的AI应用开发领域,开发者们不再满足于简单的API调用和单一功能实现。随着业务逻辑的复杂化,如何高效地构建、管理和部署一系列相互关联的工具链,…...
Unpaywall终极指南:一键解锁全球学术论文的免费获取方案
Unpaywall终极指南:一键解锁全球学术论文的免费获取方案 【免费下载链接】unpaywall-extension Firefox/Chrome extension that gives you a link to a free PDF when you view scholarly articles 项目地址: https://gitcode.com/gh_mirrors/un/unpaywall-extens…...
3个步骤实现极致跨平台远程控制:BilldDesk Pro突破性体验
3个步骤实现极致跨平台远程控制:BilldDesk Pro突破性体验 【免费下载链接】billd-desk 基于Vue3 WebRTC Nodejs Flutter搭建的远程桌面控制 项目地址: https://gitcode.com/gh_mirrors/bi/billd-desk 还在为远程协作的种种限制而烦恼吗?当你需…...
从零上手FinalShell:Windows环境下的高效SSH连接与服务器管理实战
1. FinalShell是什么?为什么选择它? 如果你是Windows用户,第一次接触服务器管理,可能会被各种专业工具吓到。XShell虽然强大但收费,Putty又太简陋,这时候FinalShell就像个贴心的助手。我用了三年多…...
HunyuanVideo-Foley创意音效作品展:突破传统声音设计的边界
HunyuanVideo-Foley创意音效作品展:突破传统声音设计的边界 1. 当AI遇见声音艺术 声音设计领域正在经历一场革命。传统Foley音效制作需要大量物理道具和录音设备,而AI技术的引入让声音创作突破了物理限制。HunyuanVideo-Foley作为新一代AI音效生成工具…...
[实战] 从点云到避障:FIESTA ESDF实时构建全解析
1. 为什么需要实时ESDF构建 当机器人需要在复杂环境中自主移动时,避障是最基础也最关键的能力。想象一下你在黑暗中摸索前行,手碰到墙壁就立即缩回——机器人也需要类似的"触觉"。欧氏距离场(ESDF)就是机器人的三维空间…...
【Matlab】MATLAB教程:图形属性修改(案例:set(h,‘Color‘,‘red‘),应用:自定义图形样式)
MATLAB教程:图形属性修改(案例:set(h,Color,red),应用:自定义图形样式) 在MATLAB数据可视化、实验报告绘图、工程结果展示等场景中,默认绘制的图形往往难以满足个性化需求和规范要求。无论是调整线条颜色、粗细,还是优化坐标轴、图例样式,核心目标都是通过图形属性修…...
