首页 > 其他分享 >数据结构—线性结构的类型定义

数据结构—线性结构的类型定义

时间:2022-10-17 08:44:35浏览次数:83  
标签:存在 线性表 结果 元素 初始条件 类型定义 线性 操作 数据结构

线性表是一个相当灵活的数据结构,其长度可根据需要增长或缩短,即对线性表的数据元素不仅可以进行访问,而且可以进行插入和删除等操作。下面给出线性表的抽象数据类型定义:

ADT Lisk{
   数据对象:D = {ai|ai∈ElemSet,i = 1,2,...,n,n≥0}
   数据关系:R = {<ai-1,ai>|ai-1,ai∈D,i = 2,...,n}
   基本操作:
       InitList(&L)
          操作结果:构造一个空的线性表L
       DestroyList(&L)
          初始条件:线性表L已存在
          操作结果:销毁线性表L
       ClearList(&L)
          初始条件:线性表L已存在
          操作结果:将L重置为空表
       ListEmpty(L)
          初始条件:线性表L已存在
          操作结果:若L为空表,则返回true,否则返回false
       ListLength(L)
          初始条件:线性表L已存在
          操作结果:返回L中数据元素个数
       GetElem(L,i,&e)
          初始条件:线性表L已存在,且1≤i≤ListLength(L)
          操作结果:用e返回L中中第i个数据元素的值
       LocateElem(L,e)
         初始条件:线性表L已存在
         操作结果:返回L中第1个值与e相同的元素在L中的位置。若这样的数据元素不存在,则返回值为0
      PriorElem(L,cur_e,&pre_e)
         初始条件:线性表L已存在
         操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回其前驱,否则操作失败,pre_e无定义
      NextElem(L,cur_e,&next_e)
         初始条件:线性表L已存在
         操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回其后继,否则操作失败,next_e无定义
     ListInsert(&L,i,e)
         初始条件:线性表L已存在
         操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1
     ListDelete(&L,i)
        初始条件:线性表L已存在且非空,且1≤i≤ListLength(L)
        操作结果:删除L的第i个数据元素,L的数据减1
     TraverseList(L)
       初始条件:线性表L已存在
       操作结果:对线性表L进行遍历,在遍历过程中对L的每个结点访问一次
}ADT List

 

标签:存在,线性表,结果,元素,初始条件,类型定义,线性,操作,数据结构
From: https://www.cnblogs.com/Santariki/p/16795171.html

相关文章

  • 数据结构—案例
    案例1、一元多项式的运算在数学上,一个一元多项式Pn(x)可按升幂写成:案例2、稀疏多项式的运算案例3、图书信息管理系统 ......
  • 【博学谷学习记录】超强总结,用心分享|Java基础分享-数据结构(栈、队列)
    目录 1.栈1.1.栈简介1.2.栈的常见应用常见应用场景1.2.1.实现浏览器的回退和前进功能1.2.2.检查符号是否成对出现1.2.3.反转字符串将字符串中的每个字符先入......
  • 【数据结构】队列的定义以及C语言代码的实现(仅供学习交流使用)
    1、队列的定义队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstInFirstOut)入队列:进行插入操作的一端称为队尾出队......
  • 线性基
    所谓线性基,就是线性空间的一组基。基是线性空间的极大线性无关组。OI中的线性基一般指异或线性基。对于实数线性基,我们习惯用高斯消元来称呼它。在题目中,线性空间中的向......
  • Redis数据结构之字符串
    目录Redis数据结构之字符串添加获取修改删除判断一个key是否存在查看过期时间设置过期时间合并set和ex合并set和px判断一个key是否存在,存在则忽略,不存在则创建合并set和nx......
  • Redis数据结构之列表
    目录Redis数据结构之列表查看命令帮助创建列表从左边插入元素从右边插入数据若list存在,则从左边依次追加元素,不存在则忽略若list存在,则从右边依次追加元素,不存在则忽略从li......
  • Redis数据结构之哈希
    目录Redis数据结构之哈希写入获取数据修改数据删除数据删除所有数据查看key中指定的field是否存在若value中没有相应的field,则创建获取多个值获取所有的key和value获取所......
  • 【数据结构】栈的定义以及接口函数的C语言代码实现(仅供学习交流使用)
    1、栈的定义栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last......
  • 【数据结构】二叉树的概念和简单实现(仅供学习交流使用)
    1、树1、树的概念   树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝......
  • 【以练促学】(数据结构)1.绪论篇
    (持续刷题持续更新...) 1.数据结构的三要素:逻辑结构、物理结构、数据运算 eg.以下属于逻辑结构的( )A.顺序表   B.哈希表   C.有序表  D.单链......