6-1 带头结点的单链表就地逆置(10 分)
本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单鏈表中的元素进行逆置如原单链表元素依次为1,2,3,4,则逆置后为4,3,2,1
其中 L
是一个带头结点的单链表。
第一行输入一个整数n表示单链表中元素个数,接下来一行共n个整数中间用空格隔开。
输出逆置后顺序表的各个元素两个元素之间用空格隔开,最后一个元素后面没有空格
这个题的想法是将节点分为三个一组,将第二个接在头节点之后再将第一个节点接在第二个节点之后。完成上述操作の后将第一、二个节点视为一个整体(或者说是一个节点)将第三个节点与上述整体重复上述操作。迷惑点在于需要事先存储第一个节點的下一个节点以及节点转换间的先后关系,可以画张图来理解
发布了24 篇原创文章 · 获赞 9 · 访问量 1万+