![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
kk-zkx
这个作者很懒,什么都没留下…
展开
-
双向链表的C语言基本实现
不废话直接上代码//line.h#ifndef _LINE_H#define _LINE_Htypedef struct line{ struct line *prior; int data; struct line *next; }line;//初始化链表line* initLine(line *head);//插入函数line* insertLine(line* head,int data,int add);//更改数据元素line* amendEl原创 2020-10-06 17:08:17 · 157 阅读 · 0 评论 -
静态链表(kk-zkx)
静态链表,也是线性存储结构的一种,它兼顾了顺序表和链表的优点于一身,可以看做是顺序表和链表的升级版,从而既能快速访问元素,又能快速增加或删除数据元素。使用静态链表存储数据,数据全部存储在数组中(和顺序表一样),但存储位置是随机的,数据之间"一对一"的逻辑关系通过一个整形变量(称为"游标",和指针功能类似)维持(和链表类似)。静态链表中,除了数据本身通过游标组成的链表外,还需要有一条连接各个空闲位置的链表,称为备用链表。备用链表的作用是回收数组中未使用或之前使用过(目前未使用)的存储空间,留待后期使用。原创 2020-10-02 21:01:56 · 387 阅读 · 0 评论 -
单链表翻转||链表和顺序表的优缺点
学习笔记顺序表和链表的优缺点开辟方式空间利用率时间复杂度单链表翻转迭代翻转发(适合翻转带头结点的链表)顺序表和链表的优缺点顺序表存储数据,需预先申请一整块足够大的存储空间,然后将数据按照次序逐一存储,数据之间紧密贴合,不留一丝空隙,如下图a) 所示;链表的存储方式与顺序表截然相反,什么时候存储数据,什么时候才申请存储空间,数据之间的逻辑关系依靠每个数据元素携带的指针维持,如下图b) 所示;开辟方式顺序表一次开辟,永久使用(动态数组除外);链表每次只申请一个节点,如果需要,后续继续申请空间原创 2020-10-01 15:34:24 · 363 阅读 · 0 评论 -
链表学习笔记(kk-zkx)
链表学习单链表(链式存储结构)链表节点头节点,头指针和首元节点单链表(链式存储结构)链表,别名链式存储结构或单链表,用于存储逻辑关系为 “一对一” 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。栗子,使用链表存储 {1,2,3},数据的物理存储状态如图 所示:数据元素随机存储,并通过指针表示数据之间逻辑关系的存储结构就是链式存储结构。链表节点链表中每个数据的存储都由以下两部分组成:数据元素本身,其所在的区域称为数据域;指向原创 2020-09-29 16:52:59 · 284 阅读 · 0 评论 -
线性表-顺序表C语言实现
什么是线性表线性表,全名为线性存储结构。使用线性表存储结构的方式可以理解,即“把所有的数据都用一根线串起来在存储到物理空间中”。顺序存储结构和链式存储结构将数据依次存储在连续的整块物理空间中,这种存储结构称为顺序存储结构,(简称顺序表);数据分散的存储在物理空间中,通过一根线保存他们之间的逻辑关系,这种存储结构称为链式存储结构;(简称链表);前驱和后继数据结构中,一组数据中的每个个体被称为“数据元素”(简称元素)。某一元素的左侧相邻的元素称为“直接前驱”,位于此元素左侧所有的元素都称原创 2020-09-28 23:55:02 · 4039 阅读 · 1 评论