news 2026/9/28 20:28:02

基础B(队列)(第?+1课)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基础B(队列)(第?+1课)

1.前言

在前几分钟,我写完了关于栈的介绍具体情况请点这里。

毕竟(也是)一年前的知识了,有点遗忘,所以如有错误请大家在评论区指出,我会修改的。

趁着手感火热,赶紧再来写一篇关于队列的文章。(QWQ)

2.正文

2.1队列的介绍

队列是一种能从两端进行操作,并遵守先进先出原则的储存结构。

队列的操作和栈的操作就是队列两端都能操作,而栈只能选一端操作。

2.2队列的基本术语

在队列中添加元素叫入队,而在队列中删除元素则叫出队。

一般来说,我们都将元素进入队列的那一端称为队尾,而与之相对的另一端则叫队首。

2.3队列原则间接导致的后果

由于队列遵守先进先出的原则,所以最先进的元素最先出,最后进的元素最后出。

2.4队列的形象理解

把队列想象成一个正在超市里买东西的队伍,排在最前面的人最先付钱,最先走,而排在最后面的人最后付钱,最后走。

2.5队列的具体代码

由于队列两端都有可能进行操作,所以要定义两个指针pop和front。

front指向队首的位置,而pop则指向队尾的位置

那么代码大致是这样的,意思也同样写在了代码里:

#include<bits/stdc++.h> using namespace std; int dl[10005];//队列数组 int pop=0;//队尾 int front=1;//队首 int main() { int n,x; cin>>n; for(int i=1;i<=n;i++) { cin>>x; pop++; dl[pop]=x; } /*如果n是4,x分别等于1、3、5、7 那么dl[1]=1 dl[2]=3 dl[3]=5 dl[4]=7 front=1 pop=4*/ front++;/*如果最前面的人付好钱了, 那么现在队首就是原本队伍的第二个人 */ pop--;/*如果后面的人等不及了, 想换到另外一个更短的队伍, 他就退出了队伍*/ for(int i=front;i<=pop;i++)/*输出 剩下人所需付的钱*/ { cout<<dl[i]<<" "; } return 0; }

又假设有人有急事,他想插个队,其他人也同意了,那么他后面的人编号全得往后面移一位,代码大概是这样,意思还是写在了代码里:

#include<bits/stdc++.h> using namespace std; int dl[10005];//队列数组 int pop=0;//队尾 int front=1;//队首 int main() { int n,x; cin>>n; for(int i=1;i<=n;i++) { cin>>x; pop++; dl[pop]=x; } /*如果n是4,x分别等于1、3、5、7 那么dl[1]=1 dl[2]=3 dl[3]=5 dl[4]=7 front=1 pop=4*/ cin>>x;/*假设这个想插队的人 插在了编号二,x表示他要在 超市里付的钱*/ /*那么得先空出来一个位置, 这个人再插到这个空位里*/ pop++;//最后面的人往后移 for(int i=pop;i>=2+1;i--) { swap(dl[i-1],dl[i]); } /*由于要把空出来的一个位置 换到第二个位置, 所以循环换到第三个位置即可, 不然循环到第二个位置就把空 出来的位置换到第一位了*/ //for循环的过程 //7531 原本 //07531 空了一个位置后 //70531 换了一次 //75031 换了两次 //75301 换了三次 //10357 正序 //下一行是这个队列每个元素对应的下标 //12345 dl[2]=x; for(int i=front;i<=pop;i++) { cout<<dl[i]<<" "; } return 0; }

关于队列的我就讲到这里。

那么……

(逃!)

新手小白(提高A)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 20:26:47

十八岁的第一个博客

我现在是一个民办二本的大一新生&#xff0c;刚刚高考结束来到这个憧憬了十八年的大学校园&#xff0c;我不想在大学四年中用着父母给的生活费浑浑噩噩度过&#xff0c;我想我该长大了&#xff0c;于是我在机缘巧合下认识了鹏哥&#xff0c;他的好多技巧和方法我认为都可以让我…

作者头像 李华
网站建设 2026/9/28 20:25:58

计算机毕业设计选题推荐:基于大数据的豆瓣电影与影评数据可视化与分析、毕业设计选题、选题推荐、高质量项目、毕设指导、项目定制、源码、讲解文档

&#x1f496;&#x1f496;作者&#xff1a;计算机毕业设计小途 &#x1f499;&#x1f499;个人简介&#xff1a;曾长期从事计算机专业培训教学&#xff0c;本人也热爱上课教学&#xff0c;语言擅长Java、微信小程序、Python、Golang、安卓Android等&#xff0c;开发项目包括…

作者头像 李华
网站建设 2026/9/28 20:25:56

等保2.0

等保全称网络安全等级保护2.0是2019年实施的新标准用来替代旧的等保1.0简单来说就是国家给各类信息系统划分不同的安全等级系统越重要需要达到的安全底线就越高一共分为五个等级 一级级别最低一般是个人使用的简单系统被入侵后影响很小由使用单位自行管理 二级属于普通级别大多…

作者头像 李华