99问答网
所有问题
有一带头结点的单链表,编程将链表颠倒过来,要求不用另外的数组或结点完成
如题所述
举报该问题
推荐答案 2015-09-24
void inverse(LinkList &L) {
// 逆置带头结点的单链表 L
p=L->next; L->next=NULL;
while ( p) {
q=p->next; // q指向*p的后继
p->next=L->next;
L->next=p; // *p插入在头结点之后
p = q;
}
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/vtWvBtBBezevW7BXWtO.html
相似回答
单链表
逆置
答:
oldfirst=L.Head->next; //原链表剩余部分第
一结点
(非表头)while(oldfirst!=NULL) //原链表剩余部分第一结点不为空 { now=oldfirst; //原链表剩余部分第一结点为当前结点 oldfirst=oldfirst->next; //原链表剩余部分第一结点下移 now->next=newfirst; //当前指针指向新
链表的
第一个结点...
如何用c语言实现
单链表的
逆置?
答:
第一步:香头指向首子,铁头指向次子 第二步:删掉首子指向次子(铁头所指向的那个子)的牙签 第三步:香头跟着铁头 以下循环条件:(条件:香头指向不为空){ 循环1:铁头移动到香头的下一个指向 循环2:香头的下一个指向首子 循环3:头子的下一个跟着香头 循环4:香头跟着铁头 } 自己用道具操作...
有一
个
带头结点的单链表
L,设计算法将L逆置
答:
while(L.hasNext()) { node = L.next();Node newnode = node.clone();newnode.setNext(last);last = newnode;} return last; //last是逆置的
链表
的头结点
用c语言实现
单链表的
逆置,能将此程序详细的解释一下吗?
答:
从数据结构的定义来看这是一个
带头节点的链表
。要弄的十分明白你要耐心点画图看看。我简单的说下思路:【head是指向头结点的】p=head; //p最开始指向头结点 s=p->next; //s最开始指向第一个节点 while(s->next!=NULL)//只要没有到最后一个元素就继续。最后一个元素的next肯定为NULL { /...
写出
带有头结点的单链表的
逆置算法
答:
/*
将链表
H结点原地逆序,不增加额外的空间*/ void reverse(LinkList * H){ LinkList *p,*q;/*链表为空,只有一个头
结点,
返回*/ if((p=H->next)==NULL) return;q=p->next;H->next=NULL;for(; q; p=q,q=q->next){ p->next=H->next;H->next=p;} /*最后还剩一个结点,...
设计一个算法将
带头结点的单链表
逆置?
答:
链表反
序,设有数据结构 typedef struct _list_node { double keyVal;struct _list_node *next;}ListNode;ListNode* reverseList(ListNode* head){ ListNode *p1, *p2 , *p3;//链表为空,或是
单结点链表
直接返回头结点 if (head == NULL || head->next == NULL){ return head;} p1 =...
设计一个算法,利用
单链表
原来的
结点
空间将一个单链表就地逆转
答:
6.if p->next !=q,p=p->next //如果p指向的不是q指向的前一项,则p继续向后遍历 7.endif p->next ==q //q指向p的前一项 8. q->next =p,q=p //重复第4步 9.p=head //重复第5步。。。N. until q=p=head 至此,原链表已经完全逆转,然后让头指针指向原
链表的
表尾,即...
有一
个
带头结点的单链表
L,设计一个算法将其所有元素逆置
答:
struct Node *next; /* 指针域 */ };void Reverse(Node *head){ /* 从第一结点开始颠倒 */ Node *p, *q;p = head->next; /* p 指向第一个结点 */ head->next = NULL; /* 断开链表表头 */ while (p != NULL){ q = p;p = p->next; /* 当前结点...
...设计一个算法
,要求用
栈结构将
带头结点的单链表
逆置。写出完整的程...
答:
{ int data;struct Node * next;}Node, * LinkList;void ListReverse(LinkList L){ Node *p,*q;p=L->next;L->next=NULL;while(p){ q=p->next;p->next=L->next;//头插法 L->next=p;p=q;} }/*逆置函数*/void InitList(LinkList *L){ L = (LinkList)malloc(sizeof(Node)...
大家正在搜
不带头节点的单链表
带头节点的单链表为空的判定条件
在单链表中,要将s所指结点
单链表和双链表的特点
单链表与多重链表的区别
循环链表和单链表的区别
单链表和双链表
链表和数组的区别
连表不具有的特点是
相关问题
如何设计设有一带头结点的单链表,编程将链表颠倒过来.要求不用...
给定一个不带头结点的单链表,写出将链表倒置的算法。
编程完成一个带头结点的单链表建立,实现初始化、求表长、取元素...
有一个带头结点的单链表L,设计一个算法将L逆置,即最后一个结...
有一个带头结点的单链表L,设计一个算法将其所有元素逆置
编程c++完成一个带头结点的单链表建立,实现初始化、求表长、...
设有一个带头结点的单链表head,试设计一个算法,将它逆转....
已知链表的头结点head,写一个函数把这个链表逆序