当前位置: 首页 > news >正文

线性表入门

目录

什么是线性表?

线性表的基本操作有哪些?

什么是线性表?

线性表的定义:

如果有如下几个元素:a1,a2,a3......an,数据类型相同,可以构成一个有限序列,那就可以称为线性表。

a2在a3的前面,可以说a2是a3的直接前驱元素,a3在a2的后面,可以说a3是a2的直接后继元素。a1只有一个直接后继,an只有一个直接前驱,其他元素只有一个直接前驱和直接后继。

上述线性表元素有n个,n叫做线性表的长度,n=0时线性表称为空表。

ai时线性表中第i个数据元素,i称为ai在线性表中的位序,i是从1开始的。

举几个生活中的例子:

星座是线性表。每年从第一个星座开始到最后一个星座结尾,中间的星座都有唯一的一个前驱和一个后继。

公司的架构不是线性表。由上至下,上面的每一个职位都对应着下面的多个职位,是“一对多”的结构,前驱和后继并不唯一。

朋友关系不是线性表。一个人可以与多个人建立朋友关系,并不唯一。

线性表的基本操作有哪些?

创建:InitList(&L)  构造一个空的线性表L并分配内存
销毁:DestroyList(&L)  销毁线性表L并释放空间
插入:ListInsert(&L,i,e)  在L的i处插入e
删除:ListDelete(&L,i,&e)  把L的i处的元素删除,e表示删除的值
按值查找:LocateElem(L,e)  在L中找e
按位查找:GetElem(L,i)  获取L中的第i个元素
求表长:Length(L)  返回L的长度
输出:PrintList(L)  按顺序输出L中所有元素
判空:Empty(L)  若L为空返回true,反之返回false

这些操作是最基础的,其他操作可以在上述操作的基础上实现。

相关文章:

  • 【蓝桥杯14天冲刺课题单】Day3
  • Day 09
  • Qwt入门
  • STC89C52单片机学习——第38节: [17-2] 红外遥控红外遥控电机
  • LangChain4j 入门(二)
  • 分治-归并系列一>数组中的逆序对
  • Linux的异常修复机制__ex_table主要作用
  • 全球地理数据库 GeoNames
  • Android Framework 层 Hook 技术详解
  • 内网渗透(DMZ--->DC)
  • 监控易一体化运维:资产管理,企业资产的智能管家
  • 项目日志是否应该启用文件压缩?
  • Keil调试(RTT Debug 断点)
  • 查看iphone手机的使用记录-克魔实战
  • OpenCv(二)——边界填充、阈值处理
  • AspNetCore路由:网络请求的交通指挥官
  • java笔记02
  • 微服务架构中的精妙设计:环境和工程搭建
  • 使用G-suite Workspace教育订阅快速搭建企业邮局及免费申请其他服务
  • 制作cass高程点块定义——cad c#二次开发——待调试