PAT乙级1075
来源:互联网 发布:青云端软件下载 编辑:程序博客网 时间:2024/06/05 06:12
这道题可以分为两步,第一步是写出链表的正确顺序,第二部对内部数据进行分类。
第一步:网上有用大数组映射完成的,但假如无法映射我这里用map结构
第二部:将链表分为三部分的时候需要条件判断下个地址是否为NULL跳出循环。
#include <iostream>#include <map>#include <vector>using namespace std;struct Node{ int add; int data; int next;};int main(){ int first,N,K; Node table[100001]; //map<int,Node> table; vector<Node> nag,bet,big,sum; Node one; cin>>first>>N>>K; for(int i=0;i<N;i++){ cin>>one.add>>one.data>>one.next; table[one.add]=one; } for(int i=0;i<N;i++){ if(table[first].data<0){ nag.push_back(table[first]); }else if(table[first].data>=0&&table[first].data<=K){ bet.push_back(table[first]); }else{ big.push_back(table[first]); } if(table[first].next==-1) break;//没有这一句会导致倒数第二个测试点无法通过 first=table[first].next; } sum=nag; sum.insert(sum.end(),bet.begin(),bet.end()); sum.insert(sum.end(),big.begin(),big.end()); for(int i=0;i<sum.size()-1;i++){ printf("%05d %d %05d\n",sum[i].add,sum[i].data,sum[i+1].add); } printf("%05d %d -1",sum[sum.size()-1].add,sum[sum.size()-1].data); return 0;}
阅读全文
0 0
- PAT乙级1075
- PAT乙级 1004. 成绩排名
- PAT乙级 月饼 (25)
- PAT乙级 人口普查(20)
- PAT 乙级 1020.月饼
- PAT乙级1001
- PAT乙级1002
- PAT 乙级 1028.人口普查
- PAT乙级1003
- pat乙级总结
- PAT乙级1010-月饼
- PAT乙级题解
- PAT 乙级 1001
- PAT乙级 1001
- PAT 乙级1003
- PAT乙级--1003
- PAT 乙级 1004
- PAT乙级 1020. 月饼
- 防火墙管理器一:firewalld
- web项目接入cas单点登陆
- Django 中的urls 导入
- 【网络】基于标签的LPA算法的python3版本
- unity中区域灯光烘焙问题
- PAT乙级1075
- Maven学习总结(42)——Maven多模块构建中常用的参数
- Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用
- 数据分析检验
- each遍历
- 程序员提高效率的辅助开发软件神器汇总
- Python爬虫入门之一-requests+BeautifulSoup
- OpenNI2 开发者指南
- Sublime Text 3 汉化