当前位置: 首页 > java >正文

PAT 1052 Linked List Sorting

在这里插入图片描述
在这里插入图片描述
这一题的意思是让给出的链表按照每个节点的值的大小排序,按照升序排,
很容易想到直接用sort依据值进行排序即可。但要注意的是给出的节点,可能不都是在一个链表上的,有可能有孤立的节点,因此我们应该先对链表进行从头到尾的遍历一遍,找到在链表上有多少个节点。

#include <iostream>
#include <limits.h>
#include <cstring>
#include <queue>
#include <unordered_map>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>
using namespace std;
int N;
int startaddress;
int endaddress;
struct node
{int address;int key;int next;
}linklist[100005];
bool cmp(node a,node b)
{if(a.key<b.key){return true;}else{return false;}
}
int main()
{//ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>N>>startaddress;for(int i=0;i<N;i++){int address;int key;int next;cin>>address>>key>>next;linklist[address].address=address;linklist[address].key=key;linklist[address].next=next;	}vector<node> ans;while(startaddress!=-1){//startaddress=linklist[startaddress].next;ans.push_back(linklist[startaddress]);startaddress=linklist[startaddress].next;}int cnt=ans.size();if(cnt==0){printf("0 -1\n");return 0;} sort(ans.begin(),ans.end(),cmp);for(int i=0;i<cnt;i++){if(i==0){startaddress=ans[i].address;}if(i==cnt-1){ans[i].next=-1;}elseans[i].next=ans[i+1].address;	}printf("%d %05d\n",cnt,startaddress);for(int i=0;i<cnt;i++){if(i==cnt-1){printf("%05d %d %d\n",ans[i].address,ans[i].key,ans[i].next);	}else{printf("%05d %d %05d\n",ans[i].address,ans[i].key,ans[i].next);}//printf("%05d %d %05d\n",ans[i].address,ans[i].key,ans[i].next);}return 0;} 
http://www.xdnf.cn/news/17427.html

相关文章:

  • 观远BI 工具驱动零售消费行业精益增长的实践路径
  • 【线性代数】线性方程组与矩阵——(1)线性方程组与矩阵初步
  • 海康威视摄像头实时推流到阿里云公网服务器(Windows + FFmpeg + nginx-rtmp)
  • 明厨亮灶场景违规识别准确率↑32%:陌讯动态适配算法实战解析
  • Geotools核心类详解
  • 企业级web应用服务器TOMCAT入门详解
  • M8-11读卡器如何通过RS485转Profinet网关在plc写入从站地址
  • 大玄古籍制作软件【详细教程20:txt文档config自动化配置】,排版软件,自动排版,排版设计,个人出书,一键排版
  • 解决本地连接服务器ollama的错误
  • 力扣(删除有序数组中的重复项I/II)
  • 小米开源大模型 MiDashengLM-7B:不仅是“听懂”,更能“理解”声音
  • 【数据结构初阶】--文件归并排序
  • Idea配置——build system的选项区别
  • $QAXHoneypot是什么文件夹
  • 系统集成项目管理工程师【第十一章 规划过程组】规划成本管理、成本估算、制定预算和规划质量管理篇
  • [Shell编程] Shell 循环结构入门
  • 2025.08.08 反转链表
  • Autosar AP中Promise和Future的异步消息通信的详细解析
  • 【设计模式】建造者模式
  • 从伪造的验证码到远程攻击工具 (RAT):2025 年网络欺骗威胁趋势
  • Dart关键字完全指南:从基础到高级用法详解
  • C++归并排序
  • 人工智能之数学基础:事件独立性
  • 登上Nature子刊,深度学习正逐渐接管基础模型
  • Docker 安装 Redis
  • 【vue】Vue 重要基础知识清单
  • Vue3生命周期
  • wordpress的wp-config.php文件的详解
  • 三方相机问题分析七:【datespace导致GPU异常】三方黑块和花图问题
  • 专利服务系统平台|个人专利服务系统|基于java和小程序的专利服务系统设计与实现(源码+数据库+文档)