66问答网
所有问题
试写一算法,对单链表实现就地逆置.啥意思
如题所述
举报该问题
推荐答案 2015-04-03
断开第一个结点,
从第一个开始,依次按头插法插入
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/U2pv2DU9pvnsp2U2i29.html
相似回答
什么
叫
单链表就地逆置
?
答:
1、
单链表就地逆置
是一种
算法
。2、如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第n/2个元素与第n+1-n/2个元素交换。3、如果不要求“就地”的话,可以创建一个n个...
什么
叫
单链表就地逆置
答:
所谓
就地逆置,
就是在操作中,遇到a->next = &b;的情况,那么改写为b->next = &a;
单链表
的
就地逆置
的
算法
!!
答:
就地逆置即算法的辅助空间为O(1)。
思路为:逆置链表初始为空,表中节点从原链表中依次“删除”,再逐个插入逆置链表的表头(即“头插”到逆置链表中
),使它成为逆置链表的“新”的第一个结点,如此循环,直至原链表为空。实现代码:void converse(LinkList *head) { LinkList *p,*q; p=...
写一
c语言
算法,实现对单链表就地逆置
。
答:
q=L;p=h=L->next; //把q指向旧
链表
头,p,h指向第二个节点 while(p!=NULL) //倒置,把旧链表后一个节点的next指向前一个节点 { h->next=q;q=q->next;p=p->next;h=p;} L->next=NULL; //旧链表的头变成了新链表的尾,所以next为NULL L=h; //把L指向新链表的头 } ...
试写一算法,实现
顺序表的
就地逆置
。
答:
算法基本思想:将数组的第一个元素与最后一个交换,第二个与倒数第二个交换,第三个与倒数第三个交换,直到结束。其中,定义一个临时变量,以便交换之用。
算法实现
如下:void reverse(int a[], int size){ int tmp;for (int i = 0; i < size/2; ++i){ tmp = a[i];a[i] = a[size...
4.
试写一算法,对
带头结点的
单链表实现就地逆置
(假设表长大于2)。
答:
假设头结点指针head 尾结点指向空
算法
如下:Node* temp->=head->next;Node* flag=head->next;while(temp){ flag=temp;flag->next=head->next;head->next=flag;temp->next=temp;} 解释看图片(画的不好)
大家正在搜
对单链表实现就地逆置的算法
编写算法实现单链表的就地逆置
写一算法实现单链表的逆置
单链表的就地逆置算法
如何实现单链表的就地逆置
实现带头节点单链表的逆置算法
单链表实现就地逆置不明白
设计算法将链表l就地逆置
实现双链表的就地逆置
相关问题
试写一算法,对单链表实现就地逆置。 啥意思???
链表的就地逆置是什么意思?
单链表的就地逆置的算法!!
试写一算法,对单链表实现就地逆置。
下面是用c语言编写的对不带头结点的单链表进行就地逆置的算法,...
编写一个算法对带头结点的单链表实现就地逆置
刚刚学数据结构还请帮忙指导,,,试写一算法,对单链表实现就地...
试写一算法,对单链表实现就地逆置,即利用原表的存储空间将线性...