重排链表c语言,L2-2 重排链表 (25 分)

给定一个单链表 L​1​​→L​2​​→⋯→L​n−1​​→L​n​​,请编写程序将链表重新排列为 L​n​​→L​1​​→L​n−1​​→L​2​​→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。

输入格式:

每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤)。结点的地址是5位非负整数,NULL地址用−表示。

接下来有N行,每行格式为:

Address Data Next

其中Address是结点地址;Data是该结点保存的数据,为不超过1的正整数;Next是下一结点的地址。题目保证给出的链表上至少有两个结点。

输出格式:

对每个测试用例,顺序输出重排后的结果链表,其上每个结点占一行,格式与输入相同。

输入样例:

00100 6

00000 4 99999

00100 1 12309

68237 6 -1

33218 3 00000

99999 5 68237

12309 2 33218

输出样例:

68237 6 00100

00100 1 99999

99999 5 12309

12309 2 00000

00000 4 33218

33218 3 -1

不知道string的前导零怎么加上。。。还在思考。。。有大佬会吗

#include

#include

#include

#include

#include

#include

#include

using namespace std;

typedef long long ll;

;

struct book

{

int data;

string add,next;

} a[amn],b[amn];

map cnt;

int main()

{

];

cin>>badd>>n;

; i<=n; i++)

{

cin>>a[i].add>>a[i].data>>a[i].next;

cnt[a[i].add]=i;

}

;

// cout<

b[].add=a[cnt[badd]].add;

b[].data=a[cnt[badd]].data;

b[].next=a[cnt[badd]].next;

; i

{

].next]==-)continue;

b[++top].add=a[cnt[b[top-].next]].add;

b[top].data=a[cnt[b[top-].next]].data;

b[top].next=a[cnt[b[top-].next]].next;

}

//for(int i=1;i<=top;i++)cout<

;i>=j;i--,j++)

{

cout<

//i--,j++

cout<

}

}

1025 反转链表 &lpar;25 分&rpar;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 ...

L2-022 重排链表 (25 分&rpar;

L2-022 重排链表 (25 分)   给定一个单链表 L​1​​→L​2​​→⋯→L​n−1​​→L​n​​,请编写程序将链表重新排列为 L​n​​→L​1​​→L​n−1​​→L​2​​→⋯.例 ...

L2-002 链表去重 (25 分&rpar;

L2-002 链表去重 (25 分)   给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在 ...

PAT-2019年冬季考试-甲级 7-2 Block Reversing &lpar;25分&rpar; &lpar;链表转置&rpar;

7-2 Block Reversing (25分)   Given a singly linked list L. Let us consider every K nodes as a block ( ...

PAT 甲级 1020 Tree Traversals &lpar;25分&rpar;(后序中序链表建树,求层序)&ast;&ast;&ast;重点复习

1020 Tree Traversals (25分)   Suppose that all the keys in a binary tree are distinct positive intege ...

PAT 甲级 1052 Linked List Sorting &lpar;25 分&rpar;(数组模拟链表,没注意到不一定所有节点都在链表里)

1052 Linked List Sorting (25 分)   A linked list consists of a series of structures, which are not ne ...

PAT 甲级 1043 Is It a Binary Search Tree &lpar;25 分&rpar;(链表建树前序后序遍历)&ast;不会用链表建树 &ast;看不懂题

1043 Is It a Binary Search Tree (25 分)   A Binary Search Tree (BST) is recursively defined as a bina ...

PAT 甲级 1032 Sharing &lpar;25 分&rpar;&lpar;结构体模拟链表&comma;结构体的赋值是深拷贝&rpar;

1032 Sharing (25 分)   To store English words, one method is to use linked lists and store a word let ...

PAT 甲级 1086 Tree Traversals Again &lpar;25分&rpar;(先序中序链表建树,求后序)&ast;&ast;&ast;重点复习

1086 Tree Traversals Again (25分)   An inorder binary tree traversal can be implemented in a non-recu ...

随机推荐

Codeforces Round &num;167 &lpar;Div&period; 2&rpar;

C. Dima and Staircase 线段树维护区间最大值. D. Dima and Two Sequences 由于模数不一定为质数,所以通过拆分质因数来做阶乘取模. E. Dima and ...

【leetcode】 Permutation Sequence &lpar;middle&rpar;

The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the p ...

怎样调整CODESOFT中条码线的宽度

CODESOFT是一款功能强大.灵活便捷的标签条码设计打印软件.在使用CODESOFT设计并打印标签,有时会因为打印精度或扫面清晰度等原因,需要调整条形码中行的宽度,即调整条码线宽度.本文,小编 ...

Keil MDK编译器&lpar;V4&period;03&rpar;与J-LINK使用

前几天进手了一个J-LINK,因为H-JTAG毕竟对MDK支持的不是太完美,比如用keil mdk上面的下载按钮烧录程序,不是直接就能烧录进去,而是弹出H-Flash软件,再手工选择文件烧录:而且用H ...

web前端开发(2)

搜索引擎只能通过标签判断网页的语义. table布局代码量大.对搜素引擎不友好,应该使用div+css布局,使用css控制网页中元素的大小.颜色.位置,让html在样式.结构混杂的局面中挣脱出来,专注 ...

Codeforces Round &num;206 &lpar;Div&period; 2&rpar;

只会做三个题: A:简单题,不解释: #include using namespace std; int k,d; int main() { scanf("%d% ...

Android 虚拟机快捷键

何须这样麻烦,直接用快捷键就行了,你用鼠标点来点去怎么还不如用快捷键来得快:一下是快捷键: Home键(小房子键) 在键盘上映射的就是home键,这倒是很好记. Menu键 用于打开菜单的按键,在键盘 ...

srm 534

250 Description 给你一个1*n的棋盘.两人轮流行动,每一个人能够把"o"向右移动到空格子.或者跨越连续两个"o"到空格子. 一个"o& ...

php实现的短网址算法分享

这篇文章主要介绍了php实现的短网址算法,理论上支持1,073,741,824个短网址,个人使用足够了,需要的朋友可以参考下 每个网址用6个字符代替,(6^32) 最多可以拥有1,073,741,82 ...

Error&colon; no override found for &&num;39&semi;vtkRenderWindow&&num;39&semi;

VSK7.1+QT5.10环境下报该错误,应该在mainwindow.cpp中添加如下语句 记住,是在mainwindow.cpp中添加,不是在main.cpp中添加:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值