赞
踩
前段时间学习了数据结构的部分知识,然后到上个星期别人问相关问题的饿时候发现自己对链表的知识都有些模糊了,主要还是有些细节的地方记不太清楚,所以就萌生了写这篇博客的想法,一是要重新复习一下链表的相关知识,二呢用C++重新写一遍,熟悉C++语言。之前用C语言实现链表操作的时候也写过几篇博客,但是重点都是体现在代码部分,示意图都是从网站上下过来的或是别人博客上摘过来的,这次自己用Processon在网页上重新画了链表操作的过程示意图,根据自己的理解画的一些简易图,然后感觉自己对链表要注意的细节更加清楚了。写这个博客主要是自己对知识点的复习,理解的一个检查,如果能帮助某些志同道合的人那就更加欣慰了。
这里我主要分四个知识点来介绍链表,分别是单向链表、单向循环链表、双向链表和双向循环链表。操作包括链表的初始化、链表的创建、链表插入结点、链表删除结点以及链表的删除,也就是释放内存。
1.单向循环链和单向链表有点相似的地方,就是都是通过结点的指针指向下一个结点,然后这样连接起来,但是有一个不同的地方就是单向链表的最后一个结点的指针指向NULL指针,而单向循环链表的最后一个结点的指针指向的是头结点,这样构成一个循环结点的环。下面是单向循环链表的示意图:
2.单向循环链表的初始化:从上面的示意图可以知道,单向循环链表最后一个结点的指针是指向头结点的,那么当只有一个结点的时候就是头结点的指针指自己。
ptemp->pNext->pPre = pnew;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。