数据结构—链表-单链表基本操作实现
来源:互联网 发布:sql查询分析器解析 编辑:程序博客网 时间:2024/06/05 08:58
初始化线性表
L是定义的一个指针
初始化线性表的算法就是
按引用指针的方法,将L引用到函数中,然后在函数中为L指针赋予一片内存,即头节点,然后让L->next指向NULL;
销毁线性表
在算法中,定义两个指针,*pre和*p;
pre指针指向头节点,p指针指向头节点的下一个节点。
如果我们删除了pre指向的节点的话,我们要用另一个指针记住他的下一个节点,如果没有p指针,我们就将找不到链表了,链表头就丢失了。
那么我们如何销毁节点呢,我们用free或者delete函数,就释放了这个节点的内存了,然后我们在把pre指向p此时,又构建了一个新的头节点,在将p=p->next;又构建了一个新的下一个节点,如此循环。直到p指向NULL。
此时整个链表只剩下pre指向的最后一个节点了。
我们将他释放掉,这个链表就销毁了。
两个指针相随的技术。
判断线性表是否为空表。
关键在于头节点的指针域指向的什么,如指向NULL,那么这个链表就是一个空链表,如果指针域指向了另一个节点,那么这个链表就不是空链表。
求线性表的长度
头节点是不算的,因为头节点不保存数据,此时线性表的长度的逻辑和物理长度是统一的。
输出线性表
求线性表L中指定位置的某个数据元素
按元素值查找
p当然也可以指向L 此时i=0
插入数据元素 节点
核心是先找到i-1个节点再进行操作
删除数据元素
0 0
- 数据结构—链表-单链表基本操作实现
- 数据结构复习--java实现单链表基本操作
- 数据结构--单链表基本操作
- 数据结构——单链表的基本操作
- 数据结构——单链表的基本操作
- 数据结构——单链表的基本操作
- 数据结构——单链表基本操作
- [数据结构与算法分析] 单链表基本操作的实现
- 《数据结构与算法》-单链表基本操作的C语言实现
- 数据结构--单链表的基本操作(C语言实现)
- 数据结构--单链表的基本操作(C语言实现)
- c语言实现单链表数据结构及其基本操作
- 【数据结构】单链表的实现与基本操作C++
- 数据结构 — 二叉树的基本操作(递归实现)
- 数据结构 — 二叉树的基本操作实现(递归算法)
- 数据结构单链表基本实现
- 数据结构中队列的基本操作实现
- Python实现基本数据结构---栈操作
- SpringMVC异常处理机制详解
- ElasticSearch 数据查询
- 会场安排问题
- caffe--ubuntu16.04+cuda8.0+opencv3.0+python2.7(Anaconda)+matlab(台式机,独显为GTXNVIDIA1060)AN3.4.
- hbase初识
- 数据结构—链表-单链表基本操作实现
- Hibernate中的6种主键生成策略和相应特点
- JavaScript变量、作用域和内存问题(一)
- Spring中Ordered接口简介
- SpringBoot非官方教程 | 第十篇: 用spring Restdocs创建API文档
- SDUT 2882 Full Binary Tree【思维】
- 迭代器(Iterator)
- 图论---Floyd
- 搜索练习7 /poj.org/problem3279/ Fliptile/黑白棋翻转经典题型 DFS