P指针指向单链表的尾元素的条件是?
P指针指向单链表的尾元素的条件是?
这句话是对的。
单项链表,顾名思义,只能从链表的头(一般用指针变量head存放这个地址)开始,逐个往后查询,直到链表尾。而不能反向查询。
一个以head为头指针的带头结点的单链表,其仅有一个结点元素的条件是 () 。
头指针head和终端结点指针域的表示
单链表中每个结点的存储地址是存放在其前趋结点next域中,而开始结点无前趋,故应设头指针head指向开始结点。
注意:
链表由头指针唯一确定,单链表可以用头指针的名字来命名。
终端结点无后继,故终端结点的指针域为空,即NULL。
某带头结点的单链表的头指针为head,则判定该链表为非空的条件是?
a 是不带头节点的单链表为空的判定条件,head为第一个节点,要是他的内容为NULL,则整个链表都没有内容。
b 带头节点的单链表为空的判定条件,带头节点的单链表的头节点head总是不空的,但是他的里面不存储具体的内容。他的下一个节点才是存储内容的开始,若没有下一个节点,则表示该链表没有存储内容。
所以选b
向单链表的末尾添加一个元素的算法
void Insert(LinkList L,ElemType e)
{
LinkList p,q;
q=L;
p=(LinkList)malloc(sizeof(LNode));为元素开辟空间
p->data=e;
while(q->next)
q=q->next;使p指向最后一个节点
p->next=q->next;插入p节点
q->next=p;
}
函数就这样的。
在一个以h开头的单循环链中,P指针指向链尾的条件是?
p->next = h
在表头为head的单链表中查找元素为e的指针
element *pE = head;
do
{
if(pE->value==e)break;
else pE=pE->next;
}while(pE->next!=NULL);
return pE;
用单链表写出删除表尾元素的算法
LinkList *cp=L; cp指向当前结点
LinkList *ap=NULL; ap指向cp的前驱节点,在ap和cp间插入
while(cp != NULL) 找表尾位置
{
ap=cp;
cp=cp->next ;
}
newptr->next =NULL;
free (cp);
求显示单链表中元素的函数
struct List
{
char ch;
struct list *next;
}
char *fun(List &list)
{
char re[10],*p;
p=re;
int i=0;
list=head->next;
for(i=0;i<10;i++)
{
re[i]=list->ch;
list=list->next)
}
return p;
}
已知指针 p 指向某单链表中的一个结点, 则判别该结点有且仅有一个后继结点的条件是什么
p->next!=NULL&&p->next->next=NULL
带表头结点的单链表H为空表的条件是什么
带头结点判空表的条件 H->next == NULL
不带头结点判空表的条件 H == NULL;此时H是头指针