#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int frist,n,k,temp;
int data[100005],next[100005],list[100005];
//vector<int> list(n);
cin >> frist >> n >> k;
for (int i = 0;i < n;i++)
{
cin >> temp;
cin >> data[temp] >> next[temp];
}
int sum = 0;
while(frist!=-1)
{
list[sum++]=frist;
frist=next[frist];
}
for (int i=0;i<(sum-sum%k);i+=k)//好好理解理解这里
{
reverse(begin(list)+i,begin(list)+i+k);
}
for (int i=0;i<sum-1;i++)
{
printf("%05d %d %05d\n",list[i],data[list[i]],list[i+1]);
}
printf("%05d %d -1\n",list[sum-1],data[list[sum-1]]);
return 0;
}
注意:cin >> temp >> data[temp] >> list[temp];错误
1025 反转链表 (25分)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→...
- 1025反转链表(25 分) 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为 1→...
- 我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容。...