数据结构题典015:部分循环链表的逆转(ANSI C)
2011-12-29 01:48
447 查看
题目:设有单链表,其头结点为L,表中共有m ( m > 3) 个结点,设计算法将从表中第i个( 1 < i < m ) 元素起到第m个结点构成一个倒置的部分循环链表。
void inverse_part_llist( link_list lst, int i ) { int j = 0; node_ptr p = lst, s = NULL, q = NULL, r = NULL; while( j < i - 1 && p != NULL ) { ++j; p = p->next; } s = q = p->next; while( q != NULL ) { r = q->next; q->next = p->next; p->next = q; q = r; } s->next = p->next; }
相关文章推荐
- linux 内核常用数据结构及算法——list(循环双向链表)
- 数据结构题典012:链表求交集之二(ANSI C)
- 数据结构之双向循环链表
- 数据结构之双向循环链表
- 数据结构之双向循环链表
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构(C++)——单向循环链表
- 数据结构作业代码保存-2.1 单向循环链表的建立,插入和删除,和指针移动
- 数据结构基础(11) --循环链表的设计与实现
- 数据结构基础(12) --双向循环链表的设计与实现
- Linux C 数据结构—-循环链表
- c语言_数据结构_双向循环链表
- 数据结构基础(11) --循环链表的设计与实现
- 数据结构(C#):循环链表
- 数据结构基础(12) --双向循环链表的设计与实现
- 【数据结构】顺序表、单链表、循环链表的插入与删除
- c语言_数据结构_单向循环链表
- 数据结构基础(11) --循环链表的设计与实现
- 数据结构——树——二叉查找树转换成排序的循环双向链表
- 实战数据结构(5)_双向循环链表的基本操作