• PAT (Basic Level) Practice (中文)
  • 1025 反转链表 (25分)
  • 问题1:在进行读出的时候,需要改动next的值
  • 问题2:面对最后指针-1的改变(测试点3、4)
  • 待尝试:利用vector reverse函数
  • 测试点6 排除无效节点
# include<iostream>
using namespace std;// 由于地址数据的自身特性,切记使用string存储
struct node {string address;int data;string next;
}point[10005];
node real_point[10005];// 记得先定义结构体,在传入结构体类型的参数
// 输出最终结果/(此方法尚未对传入结构体进行更改,仅作控制了输出条件)
void output(node x[10005], int num1, int num2) {// 反转处理int reverse = num1 / num2;  // 反转次数int out = num1 - num1 % num2; // 需要正常输出的起始下表int times = 1;  // 反转标志int tag = 0; // 辅助参数for (int i = 0; i < reverse; i++) {for (int j = times*num2 - 1; j >= tag*num2; j--) {cout << x[j].address << " ";cout << x[j].data << " ";  if (i == reverse - 1 && out == num1) {if (j == tag * num2)cout << -1 << endl;elsecout << x[j - 1].address << endl;}else {if (j == tag * num2)cout << x[times * num2].address << endl;elsecout << x[j - 1].address << endl;}}times++;tag++;}for (int i = out; i < num1; i++)cout << x[i].address << " " << x[i].data << " " << x[i].next << endl;}int main() {string first_add;int N, K;cin >> first_add >> N >> K;string cp_add = first_add;// 读入数据for (int i = 0; i < N; i++) cin >> point[i].address >> point[i].data >> point[i].next;// 将读入节点进行排序处理for (int j = 0; j < N; j++) {for (int i = 0; i < N; i++) {if (point[i].address == cp_add) {real_point[j].data = point[i].data;real_point[j].address = point[i].address;real_point[j].next = point[i].next;cp_add = point[i].next;break;}}}output(real_point, N, K);return 0;
}

PTA 1025 反转链表 (18/25分) + 测试点解决相关推荐

  1. 1025 反转链表 (25 分

    给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4,则输出应该 ...

  2. c语言最大字符1025,1025 反转链表 (25 分)C语言

    题目描述 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为 3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5 ...

  3. PAT 1025 反转链表 (25)(STL-map+思路+测试点分析)

    1025 反转链表 (25)(25 分) 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4:如果K为4, ...

  4. C++学习之路 | PTA乙级—— 1025 反转链表 (20分)(精简)

    1025 反转链表 (25 分) 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5 ...

  5. PAT乙级1025反转链表 25(分)

    1025 反转链表 (25 分) 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为3→2→1→6→5→ ...

  6. PAT | 1025 反转链表 (25分)【超时问题 + 柳神代码】

    1025 反转链表 (25分) 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→ ...

  7. 1025 反转链表 (25 分)

    1025 反转链表 (25 分) 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5 ...

  8. PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)

    PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)   http://www.patest.cn/contests/pat-b-practise/1025 ...

  9. 1025. 反转链表 (25)

    1025. 反转链表 (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个常数K以及一个单链表L,请 ...

最新文章

  1. 贪心 ---- 2020牛客多校第3场[Clam and Fish+贪心]
  2. pytorch 安装方法
  3. window下ffmpeg的编译
  4. 如何在10亿个整数中找出前1000个最大的数(TopN算法)
  5. JavaScript那些事儿(1):对比JavaScript和jQuery的Dom操作
  6. 基本数据类型存储空间
  7. python作业:高级FTP程序
  8. 优秀的SharePoint 2013开发工具有哪些(一)
  9. Hadoop系列之DistributedCache用法
  10. Linux下c语言实现通讯录,学生通讯录管理系统linux下C语言
  11. Layui默认表单校验规则
  12. php去掉指定字符串,php如何删除字符串中的指定字符串
  13. 【C#】NPOI导出Excel格式设置
  14. 基于JWT的API权限鉴定
  15. dfuse Labs——展示 dfuse 的力量
  16. maven的jar包引入成功却仍然爆红
  17. 【论文】Track to Detect and Segment: An Online Multi-Object Tracker
  18. uni-app 170邀请加入群聊(二)
  19. 《那些年啊,那些事——一个程序员的奋斗史》——43
  20. 51单片机-串口通信

热门文章

  1. 2010年:传统ERP丧钟响起
  2. oracle 酒店客户数量,上海哪些五星级酒店客户数量比较多
  3. 小程序直播 人数多服务器卡,小程序直播在线人数增长缓慢怎么办
  4. 粮食大篷车 首进宁波郎官社区 当年新米受欢迎
  5. SQL语言之DML语句
  6. Canvas制作经典贪吃蛇
  7. 关于 PHPMailer 邮件发送类的使用心得(含多文件上传)
  8. 新颖的计算机技术,搞定新颖的计算机专业毕业设计,看这5个网站就够了!
  9. 微信小程序 TOP100 榜单
  10. Git —— 版本控制