第24题: 链表操作, (1).单链表就地逆置, (2)合并链表
分类:
编程语言 时间:
2016-03-13 15:58:04
阅读次数:
164
第24 题:链表操作,单链表就地逆置思路: 本来想拿两个指针分别指向当前节点和上一节点,在向后移动指针的过程中将当前节点的next指针逆向为上一节点,但这样就无法继续向后移动当前节点了。。。。转换一下思路,对于n各节点,逆序的操作可以分解为把后面n-1个节点逆序,然后再把第一个节点放在已经逆序好的n...
分类:
编程语言 时间:
2015-10-26 12:11:09
阅读次数:
167
法一:list_node*list_reverse(list_node*head){list_node*p=head->next;list_node*q=NULL;head->next=NULL;while(p!=NULL){q=p->next;/*保存下一个节点*/p->next=head->ne...
分类:
编程语言 时间:
2015-06-30 07:45:19
阅读次数:
268
题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1)。所谓“就地”指辅助存储空间为O(1)。
解题思路:
如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第...
分类:
编程语言 时间:
2015-01-16 16:48:44
阅读次数:
260
题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1)。所谓“就地”指辅助存储空间为O(1)。
解题思路:
如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第n/2个元素与第...
分类:
其他好文 时间:
2015-01-08 21:42:52
阅读次数:
258
线性表之顺序表奇偶调整,就是指将顺序表的奇数与偶数位置互换,以最优方法解决,因为方法很多,比如,开辟一个新的顺序表分别存放奇偶数,也可以从头向后寻找奇偶数放置到尾部或头部,但这些都会增大时间与空间的消耗。最优法则是前后分别寻找奇偶不同类型数,满足前奇后偶(或前偶后期),交换两数位置,实现时间复杂度O(n),空间O(1)的方案。
void AdjustSqlist(SeqList *L)
{
...
分类:
其他好文 时间:
2014-09-21 22:34:33
阅读次数:
510