C++学习之路 | PTA乙级—— 1075 链表元素分类 (25 分)(精简)

1075 链表元素分类 (25 分)
给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。
输入格式:

每个输入包含一个测试用例。每个测试用例第 1 行给出:第 1 个结点的地址;结点总个数,即正整数N (≤10
​5
​​ );以及正整数K (≤10
​3
​​ )。结点的地址是 5 位非负整数,NULL 地址用 −1 表示。
接下来有 N 行,每行格式为:
Address Data Next
其中 Address 是结点地址;Data 是该结点保存的数据,为 [−10
​5
​​ ,10
​5
​​ ] 区间内的整数;Next 是下一结点的地址。题目保证给出的链表不为空。
输出格式:

对每个测试用例,按链表从头到尾的顺序输出重排后的结果链表,其上每个结点占一行,格式与输入相同。
输入样例:

00100 9 10
23333 10 27777
00000 0 99999
00100 18 12309
68237 -6 23333
33218 -4 00000
48652 -2 -1
99999 5 68237
27777 11 48652
12309 7 33218
输出样例:

33218 -4 68237
68237 -6 48652
48652 -2 12309
12309 7 00000
00000 0 99999
99999 5 23333
23333 10 00100
00100 18 27777
27777 11 -1

#include<iostream>
#include<vector>
using namespace std;
struct node {int data, next;
}list[100000];
vector<int>v[3];
int main()
{int start, n, k,x;cin >> start >> n >> k;for (int i = 0; i < n; i++){cin >> x;cin >> list[x].data>>list[x].next;}//int p = start;while (start != -1){if (list[start].data < 0)v[0].push_back(start);else if(list[start].data >= 0&& list[start].data <= k)v[1].push_back(start);else v[2].push_back(start);start = list[start].next;}int flag = 0;for (int i = 0; i < 3; i++){for (int j = 0; j < v[i].size(); j++){if (flag == 0){printf("%05d %d ", v[i][j], list[v[i][j]].data);flag = 1;}else{printf("%05d\n%05d %d ", v[i][j], v[i][j], list[v[i][j]].data);}}}printf("-1");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java并发编程实战~Happens-Before 规则

Happens-Before 规则 前面一个操作的结果对后续操作是可见的 所以比较正式的说法是&#xff1a; Happens-Before 约束了编译器的优化行为&#xff0c;虽允许编译器优化&#xff0c;但是要求编译器优化后一定遵守Happens-Before 规则。 程序的顺序性规则 这条规则是指在一个线…

VB.NET 中的 As New 以及型別指定

常有人以為 VB.NET 程式的執行效能不如 C#&#xff0c;但根據 msdn 的說法&#xff0c;VB.NET 和 C# 都是編譯成 MSIL 中繼語言&#xff0c;因此基本上以二者所寫出來的應用程式也具有相同的效能。最常導致二者在 web 應用程式中&#xff0c;執行效能差異的罪魁禍首&#xff0c…

普华永道:2018 AI预测报告 将回答关于数据的重大问题

来源&#xff1a;网络大数据近日 &#xff0c;普华永道发布关于2018年人工智能趋势预测的报告&#xff0c;同时介绍人工智能对商业、政府和社会的等方面的影响。人工智能非常复杂&#xff0c;且发展迅速。AI 在一些领域做了很多&#xff0c;在另一些领域做得较少&#xff0c;这…

过渡效果_剪映教程:剪映怎么添加视频之间的过渡转场效果?

今天是国庆假期的第三天&#xff0c;直播apk小编今天确实郁闷的无比&#xff0c;因为今天小编所在的老家正在下雨&#xff0c;而且从上午一直下到现在下了整整一天!OMG&#xff0c;浪费了一天的假期。不过还好有你们&#xff0c;小编还可以静下心来给大家写教程&#xff0c;好了…

C++ 多继承和虚继承的内存布局

来源&#xff1a;http://www.oschina.net/translate/cpp-virtual-inheritance 来源&#xff1a;http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html C中的虚拟继承的一些总结 1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决…

C++学习之路 | PTA乙级—— 1076 Wifi密码 (15 分)(精简)

1076 Wifi密码 (15 分) 下面是微博上流传的一张照片&#xff1a;“各位亲爱的同学们&#xff0c;鉴于大家有时需要使用 wifi&#xff0c;又怕耽误亲们的学习&#xff0c;现将 wifi 密码设置为下列数学题答案&#xff1a;A-1&#xff1b;B-2&#xff1b;C-3&#xff1b;D-4&…

Java并发编程实战~ReadWriteLock~

快速实现一个缓存 public class Cache<K,V> {final Map<K, V> m new HashMap<>();final ReadWriteLock rwl new ReentrantReadWriteLock();// 读锁final Lock r rwl.readLock();// 写锁final Lock w rwl.writeLock();// 读缓存public V get(K key) {r.l…

猎取人心的36条黄金法则

法则一&#xff1a;维护你的声誉&#xff0c;保持清白法则二&#xff1a;不会树敌的人&#xff0c;也不会拥有朋友法则三&#xff1a;小人物也绝对值得你去与之交往法则四&#xff1a;绝不可忽视外在形象……首因效应是很厉害的法则五&#xff1a;亲密有间&#xff0c;绝不可踏…

怎么导出链接_如何导出CocosCreator项目供cocos2dx加载

1、新建CocosCreator项目。2、安装creator_to_cocos2dx 插件拷贝到 Creator 项目的 packages 目录3、在cocoscreator项目中&#xff0c;项目(Project) -> LuaCPP Support -> Setup Target Project&#xff0c;出现的对话框中 Project Path 选择目标 Cocos2d-x 工程的路径…

C++对象模型

From&#xff1a;http://blog.csdn.net/wxc1987821/article/details/5958325 图说C对象模型&#xff1a;对象内存布局详解&#xff1a;http://blog.csdn.net/alexqiweek/article/details/52624641 1 前言 了解你所使用的编程语言究竟是如何实现的&#xff0c;对于C程序员可能…

Java并发编程实战~StampedLock

悲观读/写锁示例 final StampedLock sl new StampedLock();// 获取 / 释放悲观读锁示意代码 long stamp sl.readLock(); try {// 省略业务相关代码 } finally {sl.unlockRead(stamp); }// 获取 / 释放写锁示意代码 long stamp sl.writeLock(); try {// 省略业务相关代码 } …

C++学习之路 | PTA乙级—— 1078 字符串压缩与解压 (20 分)(精简)

1078 字符串压缩与解压 (20 分) 文本压缩有很多种方法&#xff0c;这里我们只考虑最简单的一种&#xff1a;把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复&#xff0c;就原样输出。例如 aba 压缩…

GridView正反双向排序

后台代码&#xff1a; using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using S…

北斗产业发展现状与前景预测研究

来源&#xff1a;北斗时空作者&#xff1a;曹冲北斗产业&#xff0c;泛指中国卫星导航产业&#xff0c;2012年底我国北斗系统投入区域服务以后&#xff0c;中国的卫星导航产业就以北斗为轴心主线加以推动发展&#xff0c;从此称其为北斗产业。顺理成章由其延续我国整个导航定位…

python注册系统_Python制作简易注册登录系统

Python制作简易注册登录系统这篇文章主要为大家详细介绍了 Python 简易注册登录系统的制作方法&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下Python 是一种面向对象、解释型计算机程序设计语言&#xff0c;由 Guido van Rossum 于 1989 年底发明&am…

自已动手制作寸照

毕业在即&#xff0c;学校动不动就给张单子&#xff0c;说&#xff0c;添了他&#xff0c;贴照片别忘。苦于我对镜头不感冒&#xff0c;照出来的相片很难看&#xff0c;真的没有本人好看。而且在照证明相的时候都不会笑了&#xff0c;脸很僵硬&#xff0c;不像平时的照片那么活…

Java并发编程实战~CountDownLatch

无线程池实现 while(存在未对账订单){// 查询未对账订单Thread T1 new Thread(()->{pos getPOrders();});T1.start();// 查询派送单Thread T2 new Thread(()->{dos getDOrders();});T2.start();// 等待 T1、T2 结束T1.join();T2.join();// 执行对账操作diff check(…

C++学习之路 | PTA乙级—— 1082 射击比赛 (20 分)(精简)

1082 射击比赛 (20 分) 本题目给出的射击比赛的规则非常简单&#xff0c;谁打的弹洞距离靶心最近&#xff0c;谁就是冠军&#xff1b;谁差得最远&#xff0c;谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y)&#xff0c;请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。…

linuxoracle查看用户权限_权限管理系统设计过程

今天和大家一起探讨权限管理方面的设计心得。权限管理&#xff0c;是B端后台系统一个重要的组成部分&#xff0c;属于底层的支撑功能&#xff0c;系统内所有的功能&#xff0c;甚至字段的增减都涉及到权限的分配和管理。因此怎样配置后台的权限系统&#xff0c;以适应多变业务需…

MIT:大脑如何跟踪运动中的物体?

来源&#xff1a;脑健康联盟抓住一个弹起的球&#xff0c;或者用球拍击球&#xff0c;这两种行动都需要合理地估算触球时间。一直以来&#xff0c;神经科学家都相信&#xff0c;大脑是通过计算物体的运动速度来完成这些动作的。然而&#xff0c;麻省理工学院的一项新研究表明&a…