首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

线性表

1、线性表的定义 线性表(List):零个或多个数据元素的有限序列 第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继。...然后,线性表强调是有限的, 线性表元素的个数n(n≥0)定义为线性表的长度,当n=0时,成为空表。 2、线性表的抽象数据类型 ? ?...对于不同的应用,线性表的基本操作是不同的,上述操作是最基本的,对于实际问题中涉及的关于线性表的更复杂操作,完全可以用这些基本操作的组合来实现。...3、线性表的顺序存储结构 3.1顺序存储定义 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。...,难以确定存储空间的容量 ③造成存储空间的“碎片” 4、线性表的链式存储结构 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。

63160
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    线性表

    数据结构 - 线性表 线性表就是一个队列 类似于node.js的队列,但是感觉很像,也不清楚是不是 直接上题,♪(^∇^*) 使用线性表来储存一组学生信息,并支持常规的增删查改 需要以下的几个子函数...建立顺序表 求线性表的长度 输出线性表线性表的指定位置插入一个元素 根据键值查找指定的元素 获取指定位置的元素信息 删除指定位置的元素 释放线性表 需要储存学生的信息有 学号 姓名 年龄 专业 入学年份...return -1; // 创建线性表 return myList -> len; }; 输出线性表 /* * 输出线性表 */ // in 线性表 out 线性表的内容 int printfList...\n"); return 1; } 在线性表的指定位置插入 设计子函数中的主函数 /* * 在线性表的指定位置插入 */ // in 线性表 out 结果 int insterList(SeqList...return -1; // 创建线性表 return myList -> len; }; /* * 输出线性表 */ // in 线性表 out 线性表的内容 int printfList

    62510

    线性表

    主要是数据结构中的线性表相关的知识与实际应用。 1....线性表中元素之间的逻辑关系就是上述的相邻关系,又称为线性关系,可见线性表是一种典型的线性结构。 1.3 基本运算 置空表InitList(L),构造一个空的线性表L。...上述仅是线性表的基本运算,不是全部运算。对于不同问题的线性表,所需要的运算可能不同。对于实际问题中涉及其他更为复杂的运算,可用基本运算的组合来实现。 2....顺序存储的线性表和基本运算的实现 2.1 顺序存储 线性表的顺序存储指的是将线性表的数据元素按其逻辑次序依次存入一组地址连续的存储单元里,用这种方法存储的线性表称为顺序表。...2.2 顺序存储的线性表基本运算C语言实现 #include #include /** * 线性表长度和基本类型 */ #define ListSize

    33310

    线性表

    摘要 什么是线性表线性表的分类 顺序表,单链表,约瑟夫环,双向链表代码实现 线性表 什么是线性表? 由0个或多个元素组成的有限序列。...point: 序列=有序性 多个元素的线性表,第一个元素没有前驱,最后一个元素没有后继,其他元素有且仅有一个前驱,一个后继。...0个元素构成的线性表称为空表 线性表的分类 线性表分为顺序表,链表,其中链表又可分为单链表,双向链表 顺序表 采用顺序存储方式,其特点是逻辑上相邻的点物理上也相邻,插入删除效率低,查找效率高 基于数组实现...public void addData(int value, int index) { if (isFull()) { System.out.println("线性表已满...pos = find(value); if (pos == -1) { System.out.println("您要找的 " + value + " 元素不在该线性表

    41200

    线性表

    > 摘要 > > - 什么是线性表? > - 线性表的分类 > - 顺序表,单链表,约瑟夫环,双向链表代码实现 # 线性表 ## 什么是线性表? 由0个或多个元素组成的有限序列。...point: - 序列=有序性 - 多个元素的线性表,第一个元素没有前驱,最后一个元素没有后继,其他元素有且仅有一个前驱,一个后继。...- 0个元素构成的线性表称为空表 ## 线性表的分类 线性表分为顺序表,链表,其中链表又可分为单链表,双向链表 ### 顺序表 - 采用顺序存储方式,其特点是逻辑上相邻的点物理上也相邻...public void addData(int value, int index) { if (isFull()) { System.out.println("线性表已满...pos = find(value); if (pos == -1) { System.out.println("您要找的 " + value + " 元素不在该线性表

    39900

    线性表总结

    线性表总结 线性表是最基本、最简单、也是最常用的一种数据结构。线性表是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限数列(a1,a2,、、、an)。...举例: 由26个英文字母构成的表(a,b,c,、、、、z)是一个线性表。 我们常玩的扑克牌,数据元素----牌,是由牌点,花色两项组成的,是复合数据类型,这种类型的线性表称为复合线性表。...线性表的特征: 1. 在非空的线性表,有且只有一个开始结点a1,它没有直接前趋,而仅有一个直接后继a2.; 2....其余的内部节点ai(2=<i=<n-1)都有且仅有一个直接前趋a(i-1)和一个直接后继a(i+1); 线性表的基本运算: 1. 求表长----求线性表中元素的个数; 2....按特征查找----按某个特定值查找线性表; 5. 插入----在第i个位置上(即原第i个元素前)插入一个新元素 6. 删除----删除原表中的第i个元素 7.

    40021

    线性表(二)

    算法描述: 线性表中的数据元素我们一般用结构体来表示 代码实现: /**************************/  /*线性表的数据元素类型定义*/  /*****************...l 构造一个空线性表 算法描述: (1)按给定的线性表存储空间进行分配 (2)令线性表长为0 代码实现: /**********************************************...算法描述: 分配内存空间用的是C语言的malloc函数,销毁线性表就是释放所分配的内存空间,所以用delete函数,但是要先判断线性表是否存在 代码实现: /********************...      delete[] L.elem;//释放存储空间 } l 清空线性表 算法描述: 只需要将线性表的长度置为0即可(先判断线性表是否存在) 代码实现: /******************...,即线性表的逻辑结构与存储结构一致 (3)在访问线性表时,可以快速地计算出任何一个数据元素的存储地址。

    45750

    浅谈线性表

    halo~大家好,今天来跟大家分享数据结构线性表、栈与队列的区别。 一、线性表 1、什么是线性表 还记得我们小学时放学之前要做什么吗--排队。...这种排好队的组织方式,就是我们即将学习的数据结构:线性表。 2、线性表(List)的定义 零个或多个数据元素的有限序列。...线性表元素的个数n(n≥0)定义为线性表的长度,当n=0时,称为空表。在较复杂的线性表中,一个数据元素可以由若干个数据项组成。...图 1-1 3、线性表的顺序存储结构 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。如图1-2所示。...注意区分:“数组的长度”和“线性表的长度” 数组的长度:是存放线性表的存储空间的长度,存储分配后这个大小一般不会改变。 线性表的长度:是线性表中数据元素的个数。

    21820

    线性表简介

    学习数据结构 -> 线性表 -> 线性表的介绍     线性表是一种典型的数据结构, 线性结构的基本特点是线性表中的数据元素是有序且有限的, 在线性结构中, 有且仅有一个被称为"开始数据元素"和一个...., an 组成的有限序列称为线性表, 其中线性表中的每个成员称为线性表的结点。     当 n  = 0 时, 线性表为空, 称为空表。     ...三、线性表的基本运算     对于一个线性表, 有可能进行的操作如下:         ● 创建一个线性表 ;         ● 判断线性表是否为空 ;         ● 确定线性表的长度 ;         ...线性表置空 SetNullList(L)             初始条件: 线性表L已存在             操作结构: 将已存在的线性表L置空, 并返回线性表L。 3>....所以, 线性表的顺序存储结构可以理解为线性表的随机存储结构。

    68080

    线性表(一)

    下面我们看个线性表的实例——学生成绩表 image.png 图2 学生成绩表 这个线性表中的每个数据元素是每个学生所对应的一系列信息,它是由学号、姓名、性别和成绩四个数据项组成。...线性表的定义: n(n≥0)个数据元素的有限序列,记作:     L = ($a_1$,$a_2$,…,$a_n$),$a_n$是表中数据元素,n是表长度(n = 0为空表),$a_1$称为线性表的第一个...(首)结点,$a_n$称为线性表的最后一个(尾)结点。...(重点)线性表的基本操作: (1)InitList(&L)//Initiate:开始,着手 操作结果:构造一个空的线性表 (2)DestroyList(L) 初始条件:线性表L已经存在 操作结果...线性表的顺序表示指的是用一组地址连续的存储单元以此存储线性表的数据元素,其特点是:逻辑上相邻的元素,物理位置上也是相邻的 image.png 图3 线性表的顺序存储结构 在具体的及其环境下:设线性表的每个元素需要占用

    37720

    顺序线性表

    线性表的顺序表示和实现 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。 线性表的第一个数据元素a1的存储位置,通常称作线性表的起始位置或基地址。...只要确定了存储线性表的起始位置,线性表中任一数据元素都可随机存取,所以线性表的顺序存储结构是一种随机存取的存储结构。 数组类型有随机存取的特性,因此通常都用数组来描述数据接哦故中的顺序存储结构。...,length指示线性表的当前长度。...如下算法: 1 //在线性表中插入元素 2 //在顺序线性表L中第i个位置之前插入新的元素e, i的合法值为 1<= i <= ListLength_Sq(L) + 1 3 Status ListInsert_Sq...如下算法: 1 //删除线性表中的元素 2 //在顺序线性表L中删除第i个元素, 并用e返回其值, i的合法值为 1<= i <= ListLength_Sq(L) 3 Status ListDelete_Sq

    75161

    线性表概述

    定义 线性表(linear list)是具有相同的数据类型的n(n 0 ) 个数据元素的有限序列(有限序列是指序列中的元素个数是有限的,即序列的长度是有限的), 其中n为表长, 当n = 0 时线性表是一个空表...若用L命名线性表, 其一般表示为 L = (, , ..., , , ..., ) 线性表是一种逻辑结构, 讨论的是元素之间的逻辑关系, 表示元素之前一对一的相邻关系.后面的顺序表和链表是指存储结构,...特点 表中的元素个数有限 表中元素具有逻辑上的顺序性, 表中的元素有先后次序 表中元素都是数据元素且每个元素都是单个元素 表中元素的数据类型都相同(这意味着每个元素占有相同大小的存储空间) 线性表抽象数据类型描述...(其他复杂的操作可通过调用其基本操作来实现) InitList(&L) 初始化表(构造空的线性表L) Length(L) 求表长(即表 L 中数据元素的个数) LocateElem(L, e) 按值查找操作

    32720

    C语言线性表(实现线性表里面的函数)

    /************************************************************************/ /* 线性表(linear list) 线性表是一个相当灵活的数据结构...抽象定义的线性表如下: ADT:Abstract Data Type 抽象数据类型 ADT LIST L:LIST简称,即线性表本身 i:索引 e:element简称,即元素 cur_:current...:清空线性表 ListEmpty(L) L你可以想象成一个容器(数组) :线性表是否为空 ListLength(L) L你可以想象成一个容器(数组)...:从链表中指定位置删除元素 ListTraverse(L, visit()) 遍历数组 :遍历元素 简单线性表--C语言实现 线性表组成类型:int数组*/ /*************...L你可以想象成一个容器(数组) :线性表是否为空 { if(count == 0)//判断线性表是否为空,如果==0代表为空,就为true.代表是的,为空!

    55130

    线性表总结

    线性表也是基本的数据结构之一,Python里面的list和tuple,就是线性表的一种实现。 首先什么是表呢,其实很简单,比如【元素1,元素2,。。。...线性表的实现问题 上面讲了一些线性表的基本概念以及一些性质,下面就要考虑如何用计算机语言来实现这种数据结构。换句话说,就是要开发一段程序,来满足线性表的各种操作需求。...访问给定下标i的元素: 这个操作首先要做异常处理,分析i是否合法,就是说i是否在0到表长度这个范围内,这个也比较好理解吧,如果不在范围内,肯定就找不到,在Python中,这时候就会报IndexError...上一次说过用python实现二分查找,就是这个操作。 增加元素:增加元素包括两种情况,一种是在顺序表的尾端插入,实现较简单;一种是在指定位置插入,实现较复杂。...下面我们用Python实现一个类似自带的list的顺序表的数据结构,可以感受一下 class SeqList(object): def __init__(self, max=10):

    883110
    领券