7-7 软硬车厢交替排列 (40 分)

设车辆厂生产了硬座车厢和软座车厢共n节(混合在一起),要求使用队列的基本操作,编程实现所有硬座车厢和所有软座车厢交替排列。

例如硬座车厢用H来表示,软座车厢用S来表示,

从键盘上输入8节车厢代号为SHHSSHSS ,输出为HSHSHSSS。

若从键盘输入8节车厢代号为SHHSHHSH ,输出为HSHSHSHH。

输入格式:

第一行输入硬座和软座车厢共有的节数,2<=节数<=10; 第二行按节数输入车厢代号。

输出格式:

若车厢节数超出合法范围,输出“ERROR”,否则输出H和S车厢交替排列结果,注意输出结果以H开头。

输入样例:

8
SHHSSHSS

输出样例:

HSHSHSSS

AC代码

#include<iostream>
using namespace std; struct Queue
{
char *data;
int top;
int base; };
int InitQueue(Queue &Q)
{
Q.data = new char[10];
Q.top = 0;
Q.base = 0;
return 1;
}
int QueueLength(Queue &Q) //队列长度
{
return (Q.top-Q.base);
}
int EnQueue(Queue &Q,char a) //入队
{
Q.data[Q.top++]=a;
return 1;
}
char DeQueue(Queue &Q)//出队
{
return Q.data[Q.base++];
} int main()
{
Queue qh;
Queue qs; InitQueue(qh);
InitQueue(qs); int num;
cin>>num;
if(num>10||num<2){ //非法结束
cout<<"ERROR"<<endl;
return 0;
}
char ch[50];
cin>>ch;
for (int i = 0; i < num; i++)//H S 分别入队
{
if(ch[i]=='H') EnQueue(qh,ch[i]);
else EnQueue(qs,ch[i]);
} while (qs.base!=qs.top && qh.base!=qh.top)
{
cout<<DeQueue(qh)<<DeQueue(qs);//同时输出
}
if(qs.base==qs.top){ //更长的队输出
while (qh.base!=qh.top)
{
cout<<DeQueue(qh);
} }
else{
while (qs.base!=qs.top)
{
cout<<DeQueue(qs);
} } cout<<endl;
return 0;
}

pntia7-7 软硬车厢交替排列 (40 分)的更多相关文章

  1. 未能加载文件或程序集“Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=30a [问题点数:40分,结帖人u010259408]

    未能加载文件或程序集“Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=30a [问题点数:40分,结帖人u01025 ...

  2. 读“40 分,60 分,90 分”

    原文链接: http://mp.weixin.qq.com/s?__biz=MzA5MjYyNzY1OQ==&mid=2650901947&idx=1&sn=89af64d3b ...

  3. java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntim [问题点数:40分,结帖人wangxiaohua_001]

    14:56:10.093 WARN!! Error for /butterfly/plugins/zhonghang/UsefulData/save_usefuldata.bshjava.lang.N ...

  4. PAT 列车厢调度   (25分)(栈和容器的简单应用)

    1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧).今天,我们就来实际操 ...

  5. Setting property 'source' to 'org.eclipse.jst.jee.server [问题点数:40分]

    链接地址:http://bbs.csdn.net/topics/390131469 警告: [SetContextPropertiesRule]{Context} Setting property ' ...

  6. 如何获取网页验证码图片并保存到本地(Java实现) [问题点数:40分,结帖人lanxuezaipiao]

    http://bbs.csdn.net/topics/390426978 public static String readCheckImage(HashMap<String, String&g ...

  7. 如何根据name和value选中radio [问题点数:40分,结帖人zzxap

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>  <he ...

  8. 如何判断一条记录什么字段被修改了 [问题点数:40分,结帖人bluesukeke]

    查询出来数据,在数据集编辑状态下,如何判断一条记录被修改了,哪些字段被修改了. 可用adoquery的Delta屬性...eg: ClientDataSet1.Delta... PS:POST前是準確 ...

  9. JFreeChart框架中生成饼状图上怎样显示数据 [问题点数:40分,结帖人GreenLawn]

    我用JFreeChart框架生成饼状图,但想把数据信息在饼图上显示,是在饼图内部(即圆内)显示!怎样实现啊??  去掉lablepieplot.setLabelGenerator(null);去掉线p ...

  10. 用ClientDataSet更新数据表,怎样自动生成行号? [问题点数:40分]

    ClientDataSet.First;while not ClientDataSet.eof dobegin  ClientDataSet.edit;  ClientDataSet.FieldByN ...

随机推荐

  1. 为什么 A 能 ping 通 B,B 却不能 ping 通 A ?

    有开发小哥咨询了一个问题,记录一下处理过程分享给有需要的朋友. 问题如下: A.B 两台开发服务器连接交换机,并且 A.B 两台服务器的 IP 地址设置为同一个网段,却发现 A 能 ping 通 B ...

  2. redis常用命令之Hash

    redis常用命令之Hash Hash常用命令 redis 可以理解为一个全局的大字典,key就是数据的唯一标识符.对应的key不同,value也不同.redis有5个基本的数据类型. 1 redis ...

  3. localStorage/sessionStorage/cookie

    html5本地存储主要有两种localStorage和sessionStorage        都是使用相同api,存入后都是字符串类型 localStorage和sessionStorage使用方 ...

  4. 利用python中的win32com模块操作Word、Excel文件

    word操作 doc文件转换为docx文件 安装win32com模块:pip3 install pypiwin32 import os from win32com.client import Disp ...

  5. 新版 Mediasoup Windows 安装 编译

    https://vc.feiyefeihua.top/ ps:视频测试demo,服务器配置很低,加载有点慢:需要有音视频设备,不然会报错. 关于官网文档 官网文档地址 只测试了 Windows .讲的 ...

  6. Text文件颜色渐变

    using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEngine.UI;usi ...

  7. PAT-basic-1021 个位数统计 java

    一.题目 给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数.例如: ...

  8. ConcurrentHashMap在Java8中的变化

    增加红黑树这个存储结构 在Java8中,为什么要增加红黑树这种数据结构来进行存储,而不是全部使用链表来进行存储呢? 1.因为攻击者可以构造大量具有相同hashCode的内容,使其全部放在同一个列表中, ...

  9. ssh 解决远程桌面端口问题

    昨天做好今天编辑 先上图  后编辑 需求:因操作失误光猫nat只剩一个可访问命令行的7000端口 前提:7000端口映射内网的22端口,可以登录ssh 解决思路:先vnc安装, gui界面安装 , 然 ...

  10. redis统计用户活跃数量

    1.说明,redis 位图存储节省内存,用户id:156,1333; 如果用户登录,根据日期存储为1 setbit 20209001 156 1 ;//id为156的用户在1月1号登录了 setbit ...