| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> PAT 1025 反转链表 (25 分)C++ -> 正文阅读 |
|
[数据结构与算法]PAT 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→6,即最后不到?K?个元素不反转。 输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数?N?(≤105)、以及正整数?K?(≤N),即要求反转的子链结点的个数。结点的地址是 5 位非负整数,NULL 地址用??1?表示。 接下来有?N?行,每行格式为:
其中? 输出格式:对每个测试用例,顺序输出反转后的链表,其上每个结点占一行,格式与输入相同。 输入样例:
输出样例:
根据视频将该部分解答后,重新分析,对于temp的使用以及链表的知识掌握具有深刻的意义。 设定一个二维数组,分别表示数据和下一地址, 定义两个变量l_address和f_address在开始第一轮循环之前或者刚开始都为100000; 开始循环后,在内部循环中l_address主要的作用是每次经过一轮循环等于此时的temp数值,temp数值在每次内循环中为指向的地址; 外部循环中f_address的作用是每次外循环,改变temp的数值,是两块之间的指针指向为反转之后的连接;同时也需要改变反转之后的l_address每次的起始位置; 最终输出数值中需要注意的一个点: 数据地址为五个数值,小于五位数的数据,空位用0填充,该部分,我们使用C语言中的cstdio头文件%05d设置。 完整参考代码如下:
参考视频链接如下 PTA 乙题训练_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Wi4y1V7Tc?p=25 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 19:42:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |