实现对一个含n个元素的单链表的逆转.要去除存储链表本身所需的空间外,该过程只能使用固定大小的存储空间.
2017-05-27 15:24
573 查看
这个逆转很简单,流程就是旧单链表从头部删除结点,然后将该结点从新单链表头部插入.设LSRC为原来旧单链表的头部,LDEST为逆转后的链表的头部.
REVERSE(LDEST, LSRC)
REVERSE(LDEST, LSRC)
while LSRC.head != NIL x = LSRC.head LSRC.head = x.next x.next = LDEST.next LDEST.head = x
相关文章推荐
- 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数将其返回。 ⑤ 建立两个
- 给定一个单向链表(长度未知),请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素。实现这个算法,并为可能出现的特例情况安排好处理措施。“倒数第m个元素”是这样规定的:当m=0时,链表的
- 一个查看MSSQLServer数据库空间使用情况的存储过程 SpaceUsed
- 面试-链表逆置 作业手写一个单链表,并且实现单链表元素的逆置,(a0, a1,a2,a3,..an)-> (an,an-1,… a1, a0),算法的空间复杂度和时间复杂度经可能低
- 一个查看MSSQLServer数据库空间使用情况的存储过程 SpaceUsed
- 用JAVA实现:非递归算法在O(n)时间内将一个含有n个元素的单链表逆置,要求其辅助空间为常量
- (2)单链表的操作 ① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数
- 取值为[1,n-1]含n个元素的整数数组,至少存在一个重复数,即可能存在多个重复数,O(n)时间内找出其中任意一个重复数,不使用额外存储空间。
- 要完整准确的 均以单链表作存储结构 试编写算法将A表和B表归并成一个按元素值递减有序的线性表C 【数据结构】假设有两个按元素值递增有序的线性表A和B 并要求利用原表的空间存放C。谁会么
- 【算法之链表(四)】在不使用额外节点存储空间的情况下,实现单链表逆序
- 使用CodeSmith为一个ORACLE中的表生成存储过程失败
- 单链表的顺序实现例程[静态分配存储空间]
- 一个简单的oracle分页存储过程的实现和调用
- 利用SQL未公开的存储过程实现分页(更加好用的一个!)
- 一个分页存储过程的使用
- 使用SQLSERVER的扩展存储过程实现远程备份与恢复
- 一个简单的oracle分页存储过程的实现和调用
- 一个使用游标的存储过程的实例
- 使用vs2005的rowNumber对数据实现分页的存储过程。
- 一个项目要实现和Windows日志交互,需要在Northwind数据库里面生成如下存储过程的脚本!