| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构-C语言 || 线性表的总结 -> 正文阅读 |
|
[数据结构与算法]数据结构-C语言 || 线性表的总结 |
目录 ▏? 何时选用顺序表,何时选用链表作为线性表的存储结构合适? ?b) 双链表的创建——初始化、查找、插入、删除、删除重复元素? 1.线性表定义:由n个数据元素组成的有限序列 特点:具有相同类型的数据元素,因此数组是线性表数据元素逻辑结构的体现。 分类:以数据元素的存储方式分为——线性表的顺序存储、线性表的链式存储。 a) 线性表的顺序存储——顺序表定义:用一组地址连续的存储单元依次存储线性表的数据元素 特点:数据的逻辑结构和物理结构一致,即数据元素之间的关系是以元素在计算机中“物理位置相邻”来体现的。 分类:动态顺序表、静态顺序表 (对应动态数组【使用realloc函数给数组扩容】、静态数组) 描述方式:一维数组 b) 线性表的链式存储——链表、循环链表、双向链表定义:用一组任意的存储单元存储线性表数据元素? 描述方式:指针 ▎? 链表 特点:①数据元素的逻辑结构和物理结构不一定一致;②在定义上,链表的定义包括数据元素的取值和后继结点的指针定义(数据域和指针域)。 分类:动态链表、静态链表 ? ? ? ? ? 动态链表:大小不固定的存储(使用malloc函数随时分配内存的) ? ? ? ? ??静态链表:大小固定的内存存储 ▎??循环链表 特点:表中最后一个结点的指针域指向头结点(构成一个闭环) 分类:单循环链表、双向循环链表
▎? 双向链表 特点:有两个指针域,一个指向结点的直接前驱,一个指向结点的直接后继,具有双向性。
2.线性表的创建?a)?顺序表的创建——初始化、查找、插入、删除?具体实现方法、代码及时间/空间复杂度分析见 数据结构-C语言-线性表 || 顺序表的实现_◎菜澜子的博客-CSDN博客 ?? ?b) 双链表的创建——初始化、查找、插入、删除、删除重复元素?插入? ?删除: ?具体实现方法、代码及时间/空间复杂度分析见 数据结构-C语言-线性表 || 双向链表的实现_◎菜澜子的博客-CSDN博客 ??c) 单链表的创建——初始化、合并链表、逆序输出?初始化 删除 具体实现方法、代码及时间/空间复杂度分析见? 数据结构-C语言-线性表 || 单链表的实现_◎菜澜子的博客-CSDN博客 总结于10.1~10.4? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:25:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |