每次找到未排序中最大值,想flip到顶部,然后flip到底部,注意特殊情况 如果已经在顶部或者底部,就不需要多余的flip操作了。
/* * uva120.cpp * * Created on: 2013-4-12 * Author: kevinjiang */ #include<cstdio> #include<cstring> char line[200]; int pancakes[35]; int num; void flip(int n) { int tmp[35]; for (int i = 0; i <= num - n; i++) tmp[i] = pancakes[i]; for (int i = 0; i <= num - n; i++) pancakes[i] = tmp[num - n - i]; printf("%d ", n); } int findMax(int range) { int max = -1; int index = -1; for (int i = 0; i < range; i++) { if (pancakes[i] > max) { max = pancakes[i]; index = i; } } return index; } void sort() { //i 代表每一趟 for (int i = 0; i < num; i++) { //每一趟中先找到未排序中最大值位置,然后把这个元素flip到栈顶再flip到底下,注意如果最大值已经在顶上或者底下就不用多余的flip了 int maxIndex = -1; maxIndex = findMax(num - i); if (maxIndex == num - i - 1) ; else if (maxIndex == 0) { flip(i + 1); } else { flip(num - maxIndex); flip(i + 1); } } printf("0\n"); } int main() { setbuf(stdout,NULL); int tmp; char ch; int i=0; while(true) { scanf("%d",&tmp); ch=getchar(); if(ch=='\n') { pancakes[i++]=tmp; num=i; i=0; for(int i=0;i<num;i++) printf("%d ",pancakes[i]); printf("\n"); sort(); } else if(ch==' ') { pancakes[i++]=tmp; } else if(ch==EOF) { break; } else ; } return 0; }
相关推荐
**PyPI 官网下载 wagtail-stacks-0.2.tar.gz** PyPI(Python Package Index)是Python社区广泛使用的软件包仓库,它为开发者提供了一个发布和分享Python库的平台。用户可以通过PyPI轻松地查找、安装和管理Python...
"hydro-clean-stacks"是一个专为前端开发者设计的开源库,其主要目标是处理“液压清洁堆”,即从错误堆中移除与液压相关的实体,以优化应用程序的性能和稳定性。 在JavaScript编程中,错误堆是用于收集和处理运行时...
数据结构--C语言描述 Chapter03-Stacks-and-Queues英文课件
本压缩包"Data-structures---stacks-and-queues.zip"聚焦于两种重要数据结构——栈和队列,尤其关注在Linux环境下的应用。下面将详细阐述这两种数据结构的概念、特性以及在实际编程中的应用。 栈(Stack)是一种...
[tests/example +0x43a0]在输出中更改为如下所示: #01: main (/home/njn/moz/fix-stacks/tests/example.c:24)与特殊堆栈框架格式不匹配的行将原封不动地传递。 默认情况下, fix-stacks使用二进制文件中存在的本机...
python python_leetcode题解之232_Implement_Queue_using_Stacks.py
在nim-stacks-master这个压缩包中,我们可以期待找到以下内容: 1. **源代码文件**:包含nim-stacks库的主要实现,可能是一个或多个.nim文件,其中定义了堆栈数据结构及其相关操作。 2. **示例或测试文件**:演示...
事实上,我知道已经有很好的名为Wappalyzer的Chrome扩展,但我仍然想为自己制作一个CLI工具。
sls-plugin-additional-stacks 无服务器框架插件以部署和删除AWS其他堆栈安装要使用npm进行安装,请在服务目录中运行以下命令: npm install --save sls-plugin-additional-stacks 然后将其添加到您的serverless.yml...
SwiftUI禁止使用Stacks和Spacer观看次数VStack:垂直堆栈HStack:水平堆栈ZStack:叠加堆栈垫片:堆栈内的间距安装步骤1:在您的React Native项目中安装软件包yarn add react-native-stacks用法像这样导入您需要的...
pub-stacks-dump 该脚本用于从上的独立矿工每小时更新一次stacks-dump。 该信息通过GitHub页面发布,可通过以下链接获取:要求该脚本应在支持Bash的任何系统上运行。 如果遇到错误,请提出问题。 该脚本期望您已在...
Java中的栈(Stack)和队列(Queue)是两种重要的数据结构,它们在程序设计中扮演着关键角色,尤其在处理对象的临时存储和管理数据流时。本篇内容主要探讨了栈和队列的不同实现方式,以及它们的应用场景。...
"svg-stacks-research"是一个项目,可能涉及到对SVG图层堆栈技术的研究与应用,特别是在JavaScript环境下的实现。 在JavaScript中,SVG的优势在于可以方便地通过DOM(Document Object Model)进行操作,例如动态...
$ aws-delete-stacks mystack - Would delete 3 stack(s) eksctl-mystack-dev-cluster (19 Mar 21 12:17 UTC) myproject-vpc-mystack-dev (19 Mar 21 12:13 UTC) myproject-domain-mystack-dev (19 Mar 21 12:11 UTC...
SoftUni-CSharp-Advanced-01-1-Stacks-and-Queues-Exercises
aws-cloudformation-stacks AWS Cloudformation堆栈的集合 该集合将包含多个不同的AWS Cloudformation堆栈,旨在自动在AWS上进行不同的部署。 以下列表将跟踪模板涉及的主题: Ansible ... ... ...
"jmx-monitoring-stacks"是一个专注于使用Java Management Extensions (JMX)进行监控的解决方案,它整合了一系列工具和技术,以提供全面、实时的系统洞察力。本文将深入探讨这个主题,解析其中涉及的关键组件,包括...
推前LeetCode_232--Implement-Queue-using-Stacks 使用堆栈实现队列的以下操作。 push(x) -- 将元素 x 推到队列的后面。 pop()——从队列前面移除元素。 peek() -- 获取最前面的元素。 empty() -- 返回队列是否为空...
本项目"cs-guided-project-queues-stacks"专注于两个基本数据结构:队列(Queues)和堆栈(Stacks),它们在Python编程中有着广泛的应用。下面我们将深入探讨这两个数据结构以及它们在实际问题中的运用。 ### 队列...
Elk-Stacks-存储库Elk Stacks用于网络安全的存储库自动化ELK堆栈部署该存储库中的文件用于配置以下所示的网络。 这些文件已经过测试,并用于在Azure上生成实时ELK部署。 它们可用于重新创建上图所示的整个部署。 ...