写出算法的功能。int L(head){
node * head;
int n=0;
node *p;
p=head;
while(p!=NULL)
{ p=p->next;
n++;
}
return(n);
}
node * head;
int n=0;
node *p;
p=head;
while(p!=NULL)
{ p=p->next;
n++;
}
return(n);
}
举一反三
- 非空的循环单链表head(头指针)的尾结点指针p满足()。 A: p->next==head B: p->next==NULL C: p==NULL D: p==head
- 在带有头结点的单链表Head中,要向表头插入一个由指针p指向的结点,则执行()。 A: p->next=Head->next;Head->next=p; B: p->next=Head;Head=p; C: p->next=Head;p=Head; D: Head=p;p->next=Head;
- 在用p访问循环链表(其中,head为头指针)时,判断不是访问表结束的条件是______ A: p! =head B: p->next! =NULL C: p!=NULL D: p->next!=head
- 中国大学MOOC: 已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点,q是尾结点的前驱结点。【图片】且所有结点都已具有如下形式的结构定义:struct node{ int data; struct node *next;}*p,*q;则下面语句序列的功能是while(p->next->next!=NULL){p=p->next;}free(p->next);p->next=NULL;
- 在一个头指针为head的带头结点的单向循环链表中,p指向尾结点,要使该链表成为不带头结点的单向链表,可执行()。 A: head=head→next;p=NULL B: head=head→next;p→next=head C: head→next=p→next D: head=head→next;p→next=NULL