数据结构------链表总结
来源:互联网 发布:网贷数据公司怎么样 编辑:程序博客网 时间:2024/05/22 06:35
1.链表
链表是一种物理存储单元上非连续非顺序的存储结构。数据元素的逻辑顺序是通过指针连接完成的。
2.结点
链表的每个元素称为节点,节点由数据域和指针域组成。
3.增加元素
链表增加元素操作,有头插法和尾插法,无论头尾插法怎么使用,在链表结构内添加个指针指向头或尾元素,这样能方便操作插入新数据元素。
(1)头插法
(2)尾插法
4.删除元素
(1)必须遍历链表找到数据元素节点
(2)再把要删除元素的前一个节点的下一个指针指向要删除元素的下一个节点的指针(注意末尾删除问题)
(3)释放要删除元素的空间
5.修改元素
(1)查找到要修改元素的节点
(2)更改数据
6.查找元素
(1)查找到要查找元素的节点
(2)返回数据
7.链表总结:
(1)单链表
-----数据域和一个指针域组成,靠指针连接成链,即只有后驱,最后一个节点指针域为空
节点结构如下:
//链表节点struct ListNode {void*pData;//要存储的数据ListNode*pNext;//指向下一个节点};
(2)双链表
-----数据域和两个指针域组成,靠指针连接成链,即有前后驱
-----首节点前驱指针为空,尾节点后驱指针为空,
节点结构如下:
//链表节点struct ListNode {void*pData;//要存储的数据ListNode* pPre;//指向前一个节点ListNode*pNext;//指向下一个节点};
(3)循环链表
-----数据域和两个指针域组成,靠指针连接成链,即有前后驱
-----首节点前驱指针指向最后一个节点,尾节点后驱指针指向首节点
节点结构如下:
//链表节点struct ListNode {void*pData;//要存储的数据ListNode* pPre;//指向前一个节点ListNode*pNext;//指向下一个节点};
(4)静态链表
-----利用数组结构完成的链表
节点结构如下:
////////////////////////////////////////////////////////////////////////////1.将一维数组ArrayList当做链表//////////////////////////////////////////////////////////////////////////#define MAXSIZE 100typedef struct{void* data;//数据int Cur;//游标}Node,ArrayList[MAXSIZE];
0 0
- 数据结构链表总结
- 数据结构------链表总结
- 数据结构-链表总结
- 数据结构链表总结一
- 数据结构链表题目总结
- 数据结构-链表排序总结
- 数据结构总结——静态链表
- 数据结构 —— 链表总结
- 【数据结构】LintCode链表专题总结
- 数据结构之链表基本操作总结
- 关于数据结构链表项目框架总结
- 数据结构--线性表总结
- 数据结构总结(2.1线性表)
- 【数据结构之线性表总结】
- [数据结构]对链表、栈、队列的总结
- 数据结构----数组队列和链表的总结和心得
- 【学习总结】数据结构之循环链表的基本操作
- Nginx高级数据结构总结之 ngx_queue_t 双向链表
- Android Studio--不能运行程序
- javascript小知识点
- APP自动化测试框架
- Grid Development Tools
- Python Tip(31~35)题详解
- 数据结构------链表总结
- oracle like使用的一点误区
- MongoDB全版本下载地址
- ArcGIS地图服务发布步骤
- Pingpong/sky 扩展实现 Laravel 多模块化开发
- 交换排序(冒泡,快速排序)
- Sass学习之路(8)——拓展/继承/占位符
- 利用securecrt在linux与windows之间传输文件
- printf 打印