蓝桥杯 Java 自行车停放(双向链表解法)
有 nn 辆自行车依次来到停车棚,除了第一辆自行车外,每辆自行车都会恰好停放在已经在停车棚里的某辆自行车的左边或右边。(e.g.停车棚里已经有 33 辆自行车,从左到右编号为:3,5,13,5,1。现在编号为 22 的第 44 辆自行车要停在 55 号自行车的左边,所以现在停车棚里的自行车编号是:3,2,5,13,2,5,1)。给定nn辆自行车的停放情况,按顺序输出最后停车棚里的自行车编号。n\leq 100000n≤100000。
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();//自行车的总数int num = sc.nextInt();//第一辆自行车的编号doubleNode first = new doubleNode();//创建双向链表first.data = num;first.prior = null;first.next = null;doubleNode xx = null, yy = null;doubleNode[] local = new doubleNode[100005];//存放自行车的地址local[num] = first;//第一辆自行车的地址for (int i = 1; i < n; i++) {//依次向双向链表中插入数据int x = sc.nextInt();int y = sc.nextInt();int z = sc.nextInt();xx = new doubleNode();xx.data = x;local[x] = xx;//编号为x的自行车地址yy = new doubleNode();yy = local[y];//获取编号y的自行车地址,存入的比x早if(z == 0){//x放在y的左边xx.next = yy;if(yy.prior != null){//当yy结点不是头结点且将xx结点插入yy结点前面xx.prior = yy.prior;yy.prior.next = xx;}else{xx.prior = null;}yy.prior = xx;//y的前驱指针指向xif(yy == first){//yy是头结点,则更改头结点first = xx;}}if(z == 1){//x放在y的右边xx.prior = yy;if(yy.next != null){//当yy结点不是尾结点且将xx结点插入yy结点的后面xx.next = yy.next;yy.next.prior = xx;}else{xx.next = null;}yy.next = xx;}}while(first != null){System.out.print(first.data+" ");first = first.next;}}
}class doubleNode{int data;doubleNode prior,next;public doubleNode(){}public doubleNode(int data,doubleNode prior,doubleNode next){super();this.data = data;this.next = next;this.prior = prior;}
}
蓝桥杯 Java 自行车停放(双向链表解法)相关推荐
- 埃及分数怎么计算java_[蓝桥杯][java]埃及分数解法
import java.util.Scanner; /* * 标题:埃及分数 古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解.古埃及喜欢把一个分数分解为类似: 1/a + 1/ ...
- java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)
第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...
- 2017年 第08届 蓝桥杯 Java B组 决赛真题详解及小结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 ...
- 2018年 第09届 蓝桥杯 Java B组 决赛真题详解及小结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
- 2020年 第11届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2020.7.5】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...
- 2020年 第11届 蓝桥杯 Java C组 省赛真题详解及小结【第1场省赛 2020.7.5】
蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...
- 2019年 第10届 蓝桥杯 Java B组 省赛真题详解及总结
蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...
- 2018年 第9届 蓝桥杯 Java B组 省赛真题详解及总结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...
- 2016年 第7届 蓝桥杯 Java B组 省赛解析及总结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...
- 2014年 第5届 蓝桥杯 Java B组 省赛解析及总结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...
最新文章
- 使用 ACE 库框架在 UNIX 中开发高性能并发应用
- 又~发现两篇好文章~~
- 汇编语言 test 和 cmp 区别
- 简述Spring技术内幕
- Java基础语法初学者了解
- Java语言基本元素
- 安卓应用安全指南 4.1.3 创建/使用活动 高级话题
- matlab中的controller,MatlabSimulinkPIDController(2DOF)..docx
- 很WEB很2.0---ThunderBird
- js验证身份证号是否合法
- 安徽考区计算机水平考试试卷,安徽考区计算机水平考试试卷2011.6
- PAIP.通过公共网络传递秘密信息.txt (包括语音和文字)
- 如何将html转换成url,HTML URL
- win10安装lr11
- 在matlab中使用模糊编辑器实现模糊控制器的设计详解
- 物联网工程专业该怎么学?老学长吐血整理!!
- t检验和u检验的差别
- iOS积分墙和积分墙的区别在哪呢?
- Tomcat 9下载安装及配置
- 热部署与定时任务冲突问题解决方案