非空的循环单链表head的尾结点p满足()。A.p一>next=headB.p->next=NULLC.p=NULLD.p=head
非空的循环单链表head的尾结点p满足()。
A.p一>next=head
B.p->next=NULL
C.p=NULL
D.p=head
非空的循环单链表head的尾结点p满足()。
A.p一>next=head
B.p->next=NULL
C.p=NULL
D.p=head
非空的循环单链表head的尾结点(由P所指向)满足______。
A.p=head
B.p=NULL
C.P一>next=head
D.P一>next=NULL
A.p=NULL;
B.p=head;
C.head=p;
D.p->next=head;
设线性表为(1,13,16,18) ,以下程序用说明结构变量的方法建立头指针为head,尾结,点为18的单向循环链表,并输出链表中各结点中的数据。
#define NULL 0
Void main()
{
NODE a,b,c,d,*head,*p;
a.data=1;
b.data=13;
c.data=16;
d.data=18; /* d是尾结点*/
head=();
a.next=&b;
d.data=18; /* d是尾结点*/
head=();
a.next=&b;
b.next=&c;
c.next=&d;
()=head; /*以上结束建立循环链表的过程*/
p=head; /* p为工作指针,准备输出链表*/
do
{
printf("%d/n",());
();
}while();
}
已知带表头结点的非空单链表L,指针P指向L链表中的一个结点(非首结点、非尾结点),试从下列提供的答案中选择合适的语句序列。
a)P=P->next;
b)P->next=P;
c)P->next=P->next->next;
d)P=P->next->next;
e)while(P!=NULL)P=P->next;
f)while(Q->next!=NULL){P=Q;Q=Q->next;}
g)while(P->next!=Q)P=P->next;
h)while(P->next->next!=Q)p=p->next;
i)while(P->next->next!=NULL)P=P->next;
j)Q=P;
k)Q=P->next;
I)P=L;
m)L=L->next;
n)free(Q);
已知sq是带头结点的非空单链表,且*p结点既不是第一个结点,也不是最后一个结点,则
①删除*p结点的直接后继结点的语句序列。
②删除*p结点的直接前驱结点的语句序列。
③删除*p结点的语句序列。
④删除第一个结点的语句序列。
⑤删除最后一个结点的语句序列。