新闻详情

新闻详情

首页 / 资讯中心 / 详情

顺序队列的基本操作

发布时间:2026/11/4 19:07:59来源:尧图网络
顺序队列的基本操作
/* 修复后的标准代码请直接复制这段 */#include stdio.h#include stdlib.h#define MaxSize 10typedef int ElemType;/* 队列的结构体定义 */typedef struct {ElemType *data;int front;int rear;} SqQueue;/* 构造一个空队列 */void InitQueue(SqQueue *Q) {Q-data (ElemType*)malloc(MaxSize * sizeof(ElemType));if (!Q-data) exit(0);Q-front Q-rear 0;}/* 销毁队列 */void DestroyQueue(SqQueue *Q) {if (Q-data) free(Q-data);Q-data NULL;Q-front Q-rear 0;}/* 将队列Q清空 */void ClearQueue(SqQueue *Q) {Q-front Q-rear 0;}/* 判断队列是否为空 */int QueueEmpty(SqQueue Q) {if (Q.front Q.rear) return 1;else return 0;}/* 如果队列不空用e返回Q的队头元素 */int GetHead(SqQueue Q, ElemType *e) {if (Q.front Q.rear) return 0;*e Q.data[Q.front];return 1;}/* 插入元素e为队列新的队尾元素 */int EnQueue(SqQueue *Q, ElemType e) {if (Q-rear MaxSize) return 0; /* 队列满 */Q-data[Q-rear] e; /* 将e插在队尾 */Q-rear Q-rear 1; /* 队尾指针加1 */return 1;}/* 返回队列元素的个数 */int QueueLength(SqQueue Q) {return (Q.rear - Q.front);}/* 若队列不空则删除Q的队头元素由e返回其值 */int DeQueue(SqQueue *Q, ElemType *e) {if (Q-front Q-rear) return 0;*e Q-data[Q-front]; /* 将队头元素的值赋给e */Q-front Q-front 1;return 1;}/* 从队头到队尾对队列Q中的每个元素进行输出 */void QueueTraverse(SqQueue Q) {int i Q.front;while (i ! Q.rear) {printf(%2d , Q.data[i]);i i 1;}printf(\n);}/* 主函数 */int main() {int i, m, k, n;ElemType d;SqQueue Q;InitQueue(Q);printf(请输入队列中的%d个元素:\n, MaxSize);for (i 1; i MaxSize; i) {scanf(%d, d);if (d 0) break;EnQueue(Q, d);}printf(当前队列为: );QueueTraverse(Q);printf(判断队列长度: %d\n, QueueLength(Q));k QueueLength(Q);printf(连续%d次由队头删除元素由队尾插入元素:\n, k / 2);for (m 1; m k / 2; m) {DeQueue(Q, d);printf(删除的元素是%d, 请输入要插入的元素: , d);scanf(%d, d);EnQueue(Q, d);}printf(新队列为: );QueueTraverse(Q);n GetHead(Q, d);if (n) {printf(提取队头元素的值: %d\n, d);}printf(清空队列\n);ClearQueue(Q);printf(清空队列后队列是否为空 n%d (1,为空; 0,不为空)\n, QueueEmpty(Q));return 0;}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/4 15:56:54

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/3 12:09:35

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/4 17:01:23

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/4 12:33:12

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/4 1:25:31

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/4 3:51:11

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉