首页 > 软件开发 > 编程语言 >

理解了线性表就理解了ArrayList

来源:互联网 2023-03-17 00:12:17 版权归原作者所有,如有侵权,请联系我们

理解了线性表就理解了ArrayListXUL办公区 - 实用经验教程分享!

方法/步骤

  • 1

    【线性表是一个简单、灵活、实用的数据结构,在实际编程中应用非常广泛。堆栈、队列等常用数据结构也是通过线性表构建的。本文主要讨论线性表的逻辑结构及其基本运算】XUL办公区 - 实用经验教程分享!

    1、线性表的逻辑结构XUL办公区 - 实用经验教程分享!

    一个线性表是n个数据元素的有限序列(a1,a2,…,an)。元素之间是相邻关系,即第i-1个元素领先于第i个元素,第i个元素领先于第i 1个元素。可以将第i-1个元素称为第i个元素的直接前驱元素,第i 1个元素称为第i个元素的直接后继元素。表中元素的个数为表的长度,长度为0的表称为空表。XUL办公区 - 实用经验教程分享!

    线性表中所存储元素的具体含义,在不同的情况下可以不同,它可以是一个数,也可以是字符串,甚至是更复杂的信息。XUL办公区 - 实用经验教程分享!

    例如,所有的省会城市XUL办公区 - 实用经验教程分享!

    {济南,成都,西安,……,昆明}XUL办公区 - 实用经验教程分享!

    是一个线性表,表中的数据元素是字符串。又如,某中学班级学生的身高可以用线性表的形式给出XUL办公区 - 实用经验教程分享!

    {1.61,1.59,1.53,……,1.69}XUL办公区 - 实用经验教程分享!

    表中的数据元素是小数。XUL办公区 - 实用经验教程分享!

    线性表也可以存储比较复杂的数据元素,一个数据元素可以由若干个数据项组成,在这种情况下,数据元素被称为记录。XUL办公区 - 实用经验教程分享!

    例如,一个计算机培训学校的一门课程情况就是一个记录。记录由编号、名称、类别、老师编号、课程简介五个数据项组成。XUL办公区 - 实用经验教程分享!

    理解了线性表就理解了ArrayListXUL办公区 - 实用经验教程分享!

  • 1此文章非法爬取自百度经验
  • 2

    从上面的三个例子可以看出,含有n个数据元素的线性表是一个数据结构,线性表中的数据元素可以是各种各样的,但同一线性表中元素必定具有相同的特性,属于同一数据对象。XUL办公区 - 实用经验教程分享!

    2、线性表的运算XUL办公区 - 实用经验教程分享!

    线性表的运算是指线性表的访问、插入、删除等运算操作。另外,线性表的长度也是不固定的,随着数据元素个数的变化而变化。XUL办公区 - 实用经验教程分享!

    对线性表进行的基本运算有如下几种:XUL办公区 - 实用经验教程分享!

    (1)访问第i个数据元素XUL办公区 - 实用经验教程分享!

    该运算从线性表中得到第i个数据元素GET(L,i),i需要满足大于等于1并且小于等于线性表长度的条件,i被称为线性表的序号。XUL办公区 - 实用经验教程分享!

    (2)求线性表的长度XUL办公区 - 实用经验教程分享!

    该运算求得线性表的长度LENGTH(L),LENGTH(L)计算线性表的长度并返回长度值。XUL办公区 - 实用经验教程分享!

    (3)访问第i 1个数据元素XUL办公区 - 实用经验教程分享!

    该运算从线性表中取得第i个元素的直接后继元素NEXT(L,i 1),前提条件是i要小于线性表的长度减1的值,以防止访问溢出。即i 1超出线性表的长度时,NEXT(L,i 1)不存在。XUL办公区 - 实用经验教程分享!

    (4)访问第i-1个数据元素XUL办公区 - 实用经验教程分享!

    该运算从线性表中取得第i个元素的直接前驱元素NEXT(L,i-1),前提条件是i要大于1,以防止访问溢出。即i-1为零或负值时,NEXT(L,i-1)不存在。XUL办公区 - 实用经验教程分享!

    (5)置空线性表XUL办公区 - 实用经验教程分享!

    该运算将线性表设置为空表SETNULL(L),即不包含任何数据元素。线性表中原有的数据元素将被清空。XUL办公区 - 实用经验教程分享!

    (6)按特定的值查找线性表XUL办公区 - 实用经验教程分享!

    该运算从线性表中查询与a符合的数据元素FIND(L,a),a或者与线性表中数据元素同类型,或者与数据元素的一个子项类型相同。若线性表存在符合a的数据元素,返回该数据元素的序号。XUL办公区 - 实用经验教程分享!

    (7)在第i个元素和第i-1个元素之间插入一个元素XUL办公区 - 实用经验教程分享!

    该运算在长度为n的线性表中插入a数据元素INSERT(L,i,a)。插入前线性表的长度为n,插入后线性表的长度为n 1。XUL办公区 - 实用经验教程分享!

    (8)删除第i个元素XUL办公区 - 实用经验教程分享!

    该运算从长度为n的线性表中删除第i个元素,i需要满足大于等于1并且小于等于n的条件。XUL办公区 - 实用经验教程分享!

    上面介绍的是线性表的基本运算,通过基本运算可以构建一些更复杂的运算。如:两个线性表的合并运算;线性表内数据元素的排序运算;线性表的拆分运算;线性表的复制运算等等。XUL办公区 - 实用经验教程分享!

    算法示例1XUL办公区 - 实用经验教程分享!

    假设有A和B两个线性表,长度均为n,要求合并A和B两个线性表,即A = A U B。具体算法是扩大A表的长度,将B表中不在A表中出现的数据元素插入到A表中。只要依次取得B表中的每个数据元素,并按照其值查找A表,若在A表中不存在,就将该数据元素插入到A表。XUL办公区 - 实用经验教程分享!

    上述运算可以用下面的算法描述。XUL办公区 - 实用经验教程分享!

    理解了线性表就理解了ArrayListXUL办公区 - 实用经验教程分享!

  • 3

    文章小结XUL办公区 - 实用经验教程分享!

    线性表是一个具有n个数据元素且有序的数据结构,数据元素按照序号有序排列,第i个数据元素的直接前驱是第i-1个元素(i>1),直接后继元素是第i 1个元素(in)。线性表的基本运算包括插入、访问、删除、查找、置空、求长度六类基本运算,应用基本运算可以构建更复杂的运算。例如,线性表的合并、排序、拆分等复杂运算。XUL办公区 - 实用经验教程分享!

    理解了线性表就理解了ArrayListXUL办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!XUL办公区 - 实用经验教程分享!


    标签: 编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号