02-数据结构-线性表

线性表的特点:
(1)存在惟一一个被称为"第一个"的数据元素
(2)存在惟一一个被称为"最后一个"的数据元素
(3)除第一个之外,集合中每一个数据元素均只有一个前驱
(4)除最后一个之外,集合中每个数据均只有一个后继

线性表是n个数据元素的有限序列

线性表的List基本操作:
InitList(&L)//构造一个空线性表
DestroyList(&L)//消毁线性表
ClearList(&L)//清空
ListEmpty(L)//是否是空表
ListLength(L)//元素个数
GetElem(L,i,&e)//返回对应的元素
LocateElem(L,e,compare())//返回第1个满足对比关系元素的位置
PriorElem(L,cur_e,&pre_e)//cur_e是L的元素不是第一个, 返回他的前驱元素
NextElem(L,cur_e,&next_e)//cur_e是L的元素不是第一个, 返回他的后继元素
ListInsert(&L,i,e)//指定位置插入元素
ListDelete(&L,i,&e)//指定位置删除元素
ListTraverse(L,visit())//每一个元素调用visit()操作


1.线性表的顺序表示是指用一组地址连续的存储单元依次存储线性表的数据元素。
最常见的一种形式是数组。数组是线性表顺序表示的一种。
2.线性表的链式表示:不要求逻辑上相邻的元素在物理位置上也相邻,相比较顺序表示来说,优点:插入和删除操作,无需移动大量元素,速度更快,扩展性强。缺点:无法随机存取
(1).线性链表(单链表)

65edab620c5449c9960e06e2df529583.png

(2).循环链表

9e14296de28f4b98a73e0f29208969e9.png

(3).双向链表

7e5b983bd5f946fd9b3d387cd7104868.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/115585.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发送实时音频数据到udp服务

由于浏览器不能直接连接udp服务,所以需要搭建一个websocket服务做中转,让websocket服务连接udp服务 1、vue开发获取实时音频数据并按4096分包后添加rtp协议头发送到websocket服务(连接websocket自行编写连接到127.0.0.1:8889) da…

【数据增强】

【数据增强】 1 数据增强的情形2 数据增强的方法 1 数据增强的情形 当数据比较小,难以获取新的训练数据时,可以考虑数据增强,如随机裁剪部分,随机左右上下翻转、随机旋转一个角度、随机亮度变化等微小变化,数据的多样…

手写实现简易Spring框架

该文章记录的是自己实现简易Spring框架的记录,简化了源码中的大量操作,没有实现三级缓存的机制。 其中将会对Component,ComponentScan,Scope,Autowired注解。BeanDefinition类以及ApplicationContext、BeanPostProcess…

如何在RK3568开发板上实现USBNET?——飞凌嵌入式/USB Gadget/USB-NET/网络

本文将借助飞凌嵌入式OK3568-C开发板为大家介绍实现USBNET模式的方法,在这之前需要先知道什么是USB Gadget——USB Gadget是指所开发的电子设备以USB从设备的模式通过USB连接到主机。举个例子:将手机通过USB线插入PC后,手机就是USB Gadget。同…

BOM与DOM--记录

BOM基础(BOM简介、常见事件、定时器、this指向) BOM和DOM的区别和联系 JavaScript的DOM与BOM的区别与用法详解 DOM和BOM是什么?有什么作用? 图解BOM与DOM的区别与联系 BOM和DOM详解 JavaScript 中的 BOM(浏览器对…

医疗虚拟仿真和虚拟现实有什么区别?哪个更好?

随着我们在仿真教育中越来越多地使用新技术,区分虚拟模式的类型很重要。虚拟仿真是一个统称,用来概括术语来描述各种基于仿真的体验,从基于屏幕的平台到沉浸式虚拟现实。然而,各虚拟平台在保真度、沉浸感和临场感的水平上有很大差…

流媒体及直播相关知识

文章目录 前言一、流媒体1、基本概念2、流式传输3、流媒体技术原理4、流媒体传输模式5、H.264 流媒体传输系统框架 二、直播1、直播中使用的流媒体协议2、直播的模块划分3、视频直播流程①、推流到服务器②、服务器流分发 前言 本文主要讲解流媒体及其直播相关知识&#xff0c…

【期望+状压DP】 2021 CCPC G

Problem - G - Codeforces 题意: 思路: 注意到 k 的范围是18,可以考虑状压 要求最小的期望长度,我们可以遍历所有可能的路径,统计这些路径的期望长度的最小值即可 那么怎么遍历呢?这里很经典的处理方式…

初识软件工程

软件工程是一门涵盖软件开发、维护和管理的学科,它通过应用工程化的原则和方法来提高软件系统的质量和可靠性。在当今数字化和信息化的时代,软件工程对于现代社会的各个领域都具有至关重要的作用。 基本概念? 计算机系统中与硬件相互依存的一…

复习Day01:数组part01:701. 二分查找、35. 搜索插入位置、367. 有效的完全平方数、69. x的平方根、74. 搜索二维矩阵

之前的blog链接:https://blog.csdn.net/weixin_43303286/article/details/131690654?spm1001.2014.3001.5501 我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Lab…

ruoyi框架修改左侧菜单样式

菜单效果 ruoyi前端框架左侧的菜单很丑,我们需要修改一下样式,下面直接看效果。 修改代码 1、sidebar.scss .el-menu-item, .el-submenu__title {overflow: hidden !important;text-overflow: ellipsis !important;white-space: nowrap !important;//…

API文档搜索引擎

导航小助手 一、认识搜索引擎 二、项目目标 三、模块划分 四、创建项目 五、关于分词 六、实现索引模块 6.1 实现 Parser类 6.2 实现 Index类 6.2.1 创建 Index类 6.2.2 创建DocInfo类 6.2.3 创建 Weight类 6.2.4 实现 getDocInfo 和 getInverted方法 6.2.5 实现 …