voidinvent(Lnode*heaD.
{Lnode*p,*q;
if(!head->next)returnERROR;
p=head->next;q=p->next;p->next=NULL;
while(q)
{p=q;q=q->next;p->next=head->next;head->next=p;}
}
(简答题)
编写算法,实现带头结点单链表的逆置算法。
正确答案
答案解析
略
相似试题
(简答题)
试写一算法实现对不带头结点的单链表H进行就地(不额外增加空间)逆置。
(简答题)
试编写算法实现顺序表的逆置,即把顺序表A中的数据元素(a1,a2, …,an)逆置为(an,an-1, …,a1)。
(简答题)
编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。
(简答题)
试编写算法实现链表的就地逆置(不增加存储空间),即把链表A中的数据元素(a1,a2, …,an)逆置为(an,an-1, …,a1)。
(简答题)
试写一算法,对单链表实现就地逆置。
(简答题)
设某带头结头的单链表的结点结构说明如下:typedef struct nodel{int data struct nodel*next;}node;试设计一个算法:void copy(node*headl,node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。
(简答题)
试写一算法在带头结点的单链表结构上实现线性表操作Length(L)。
(简答题)
设计一个算法,功能是在带头结点的单链表head中删除数据域值最小的结点。
(简答题)
试写一算法在带头结点的单链表结构上实现线性表操作Locate(L,x)