Codeforces E1 (c++、队列、栈、附双队列解法传送门)

博客讲述了使用栈和队列解决一种特殊的排序问题,即每次新输入的数字与队首数字比较,小于队首的放入栈中,大于或等于的放入队列。最终按栈中元素先出栈、队列中元素先出队的顺序输出排序结果。博主分享了AC代码,并鼓励大家尝试此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原题链接

        友友们,闲着没事儿,不要靠近cf,会变得不幸(bushi)

        以上为本人,wa了n次以后的急躁发言,请忽略。

目录

1、题意分析

2、思路分析

3、AC代码


1、题意分析

       我们有t组数据的输入,每组数据的输入分为两行,第一行为这次需要进行特殊操作的珊瑚橘个数n,第二行为这n个数。

        我们比较的规则是:每次输入的数字都和队首的数字比较。如果比队首的数字小,那么这个数就成为新的队首。如果比队首的数字小,那么这个数字就放到队尾,队首数字不变。当然,输入的第一个数字自动将其作为队首。

        最后,再将这n个数字按排列好的顺序输出。

2、思路分析

        因为每次小的数字都放在队首,最先会被输出。也就是说,越晚加到队首的数字会被越先输出。而每次大的数字都放在了队尾,最后被输出。也就是说,越晚放到队尾的数字会越晚被输出。

        前者,刚好满足先进后出的原则,而后者,刚好满足

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值