数据结构之线性表(五) |
您所在的位置:网站首页 › c++初始化单链表 › 数据结构之线性表(五) |
1.单链表(带头结点)的初始化 即,构造一个空表,如下图, 2.判断链表是否为空 空表:链表中无元素,但头指针和头结点仍然在。 3.单链表的销毁 销毁单链表:在内存中删除,链表销毁后,其头指针和头结点也不会存在。 算法思路:从头节点开始,依次释放所有结点。 怎么能让一个指针p指向变量a? 做法就是把a的地址赋给指针变量p,即p=&a。这样就定义了一个指向a的指针p。 1.先定义一个指针p,指向当前结点(一开始,p是指向头结点的指针),即,p=L![]() ![]() 4.清空单链表 清空单链表:链表在内存中仍然存在(头指针和头结点仍然在),但链表中无元素。 算法思路:依次释放所有结点,并将头结点指针域设置为空。 怎么能让指针p指向首元结点?p=L; //p指向头结点 p=L->next; //p指向首元结点 1.先定义一个指针p,指向当前结点(一开始,p是指向首元结点的指针),即,p=L->next![]() ![]() ![]() 5.求单链表的长度 算法思路:从首元结点开始,依次计数所有结点。 怎么能让指向当前结点指针p指向下一结点? p=p->next; //p指向下一个结点,p往后移动一个结点1.先定义一个指针p,指向当前结点(一开始,p是指向首元结点的指针),即,p=L->next。 2.若p不为空,则计1,再让p指向下一结点,即,p=p->next。 3.结束条件为:p=NULL (循环条件为:p!=NULL 算法描述: int ListLength_L(LinkList L) //返回L中数据元素的个数 { Lnode *p; //或LinkList p; p = L->next; //p指向首元结点 i = 0; //计数 while (p) //遍历单链表,统计结点数 { i++; p = p->next; //p指向下一个结点 } return i; } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |