不带头结点的单链表head为空的判定条件是head=NULL。
在不带头结点的单链表head中,head指向第一个元素结点,head=NULL表示该链表为空。
单链表中每个结点的存储地址是存放在其前趋结点next域中,而开始结点无前趋,故应设头指针head指向开始结点。链表由头指针唯一确定,单链表可以用头指针的名字来命名。终端结点无后继,故终端结点的指针域为空,即NULL。
扩展资料
单链表插入元素
同顺序表一样,向链表中增添元素,根据添加位置不同,可分为以下3种情况:
1、插入到链表的头部(头节点之后),作为首元节点;
2、插入到链表中间的某个位置;
3、插入到链表的最末端,作为链表中最后一个数据元素。
虽然新元素的插入位置不固定,但是链表插入元素的思想是固定的,只需做以下两步操作,即可将新元素插入到指定的位置:
1、将新结点的next指针指向插入位置后的结点;
2、将插入位置前结点的next指针指向插入结点。
带头结点的单链表head为空的判断条件是:head->next==NULL
链表是一系列的存储数据元素的单元通过指针串接起来形成的,因此每个单元至少有两个域,一个域用于数据元素的存储,另一个域是指向其他单元的指针。这里具有一个数据域和多个指针域的存储单元通常称为 结点(node)
它是构成单链表的基本结点结构。在结点中数据域用来存储数据元素,指针域用于指向下一个具有相同结构的结点。
扩展资料
单链表的存储缺点
由于数组采用连续的存储方式,在开辟数组空间时需要保证内存有足够的连续内存才能保证内存分配。当程序需要内存为 1000 个数据大小的内存空间,但是由于内存中最大的连续空间为 600 ,则会导致程序分配内存失败。
但是发现内存的使用空间为 1500 ,剩余空间仍有 1400 个数据空间,但由于这 1400 个数据空间不连续,导致创建数组失败。
指针是一个特殊的变量,它里面存储的值为内存里的一个地址。指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。例如:在 32 位程序里,所有类型的指针的值都是一个 32 位整数,因为 32 位程序里内存地址全都是 32 位长。
参考资料来源:
百度百科——单链表
b
带头结点,即头结点没有数据,链表为空,其后的第一个节点为空
head==null;带头结点的是head->null;
A
B