函数f31实现了带头结点的单链表(头指针为head)的某种运算,请回答下列问题。
void f31(LinkList head)
{LinkNode *p,*q,*s;
p=head;s-p-> next;q=s-> next;
while(q!=NULL){p=s;s=q;q-q-> next;}
s-> next=head-> next;
head-> next=s;
p-> next=NULL;
}
(1)若线性表R=(1,2,3,4,5),保存在带头结点的单链表head中,依次列出执行f31(head)后链表中各元素的值。
(2)请指出该程序段的功能是什么。
【正确答案】:(1)各元素的值依次是5,1,2,3,4。
(2)将带头结点的单链表的终端结点移到头结点的后一位置,成为新的开始结点。
函数f31实现了带头结点的单链表(头指针为head)的某种运算,请回答下列问题。void f31(LinkList head){
- 2024-11-07 01:34:15
- 数据结构与算法(13003)