【queue】周末的舞会C++

该文章介绍了一个使用C++编程解决的问题,即模拟舞会上演员按照编号顺序上台表演的场景。通过队列的概念,演员依次上台并在表演后移动到队尾,直至所有演员都表演过一次。提供的代码示例展示了如何用数组实现这一过程。

队列-周末的舞会-C++

`

一、题目

大头本周末将参加一个舞会,并负责舞台技术支持
第一个舞蹈节目已正式出炉!表演编排为:演员按编号1-n的顺序在舞台一侧排成-
列,队伍的第1个演员上舞台中央表演,第2个演员边做动作边走到队尾等候;第3个演员
上台表演,第4个演员边做动作边走到队尾等候;....队伍每次最前面的演员按照上台
去队属,上台,去队尾重复,直到所有演员都已上台表演一次,表演完毕
大头准备做一个演出顺序编号显示程序,监控表演的编号顺序,我们一起来试试吧
输入格式:演员人数n(1<==20)舞台能容纳40人排长队
输出格式:演员上台表演的编号顺序,用空格隔开
输入样例:6
输出样例:135264

二、解题

代码如下(示例):

#include <iostream>

using namespace std;

int main()
{
    int a[100];//创建一个队列
    int n; //n个人
    cin>>n;
    int f = 1;//队头
    int r = n+1;//队尾
    for(int i=1; i<=n; i++)//每个成员放在队列中
    {
        a[i] = i;
    }
    while(f!=r)//队头==队尾代表没有值了
    {
        cout<<a[f]<<" ";//第一位出队
        f++;//对头后移一位
        a[r] = a[f];//第二位去队尾  也就是队头赋值给队尾
        f++;//队头后移一位
        r++;//队尾后移一位
    }
    return 0;
}

总结

提示:这里对文章进行总结:
队列的本质上是数组,多了一个front以及rear当队尾,注意赋值的方式即可;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白话_NOI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值