数据结构(2) 线性表

线性表

  • 线性表的定义
  • 线性表的基本操作
    • lnitList(&L)
    • DestroyList(&L)
    • Listlnsert(&L,i,e)
    • ListDelete(&L,i,&e)
    • LocateElem(L,e)
    • GetElem(L,i)
    • Length(L)
    • PrintList(L)
    • Empty(L)
    • Tips:
    • 引用值
  • 小结

在这里插入图片描述
根据数据结构的三要素–逻辑结构、数据的运算、存储结构,我们将从以上三个角度来分析线性表。

线性表的定义

在这里插入图片描述
线性表是具有相同数据类型的n(n>=0) 个数据元素的有限序列,其中n为表长,当n =0时线性表是一个空表。若用L命名线性表,则其一般表示为:

L=(a1, a2, … , ai, ai+1, … , an)

1.所有数据元素的数据类型相同类型(每个数据元素所占空间一样大)例如全部为int类型或全为float类型。
2.有限序列为有次序的数列,且必须为有限的数列。
位序从1开始,数组下标从0开始。
ai是线性表中的“第i个”元素线性表中的位序。
a1是表头元素;an是表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继;

线性表的基本操作

lnitList(&L)

lnitList(&L):初始化表。构造一个空的线性表L,分配内存空间。(从无到有)

DestroyList(&L)

DestroyList(&L): 销毁操作。销毁线性表,并释放线性表L所占用的内存空间。(从有到无)

Listlnsert(&L,i,e)

Listlnsert(&L,i,e): 插入操作。在表L中的第i个位置上插入指定元素e。

ListDelete(&L,i,&e)

ListDelete(&L,i,&e): 删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值。

LocateElem(L,e)

LocateElem(L,e): 按值查找操作。在表L中查找具有给定关键字值的元素。

GetElem(L,i)

GetElem(L,i): 按位查找操作。获取表L中第i个位置的元素的值。

Length(L)

Length(L):求表长。返回线性表L的长度,即L中数据元素的个数。

PrintList(L)

PrintList(L): 输出操作。按前后顺序输出线性表L的所有元素值。

Empty(L)

Empty(L):判空操作。若L为空表,则返回true,否则返回false
为什么这里没有说明
各个参数的具体类型

Tips:

  • 对数据的操作(记忆思路) --创建,销毁、增删改查。
  • C语言函数的定义 – <返回值类型>函数名(<参数1类型>参数1,<参数2类型>参数2…)。
  • 实际开发中,可根据实际需求定义其他的基本操作。
  • 函数名和参数的形式、命名都可改变(Reference严蔚敏《数据结构》)。
  • 什么时候要传入引用“&”–对参数的修改结果需要“带回来”。

引用值


text函数的实参int x和main()函数中int x并不是一回事,他们存储位置不同。

在这里插入图片描述
text函数的实参int x和main()函数中int x是同一个数据,他们存储位置相同。

小结

在这里插入图片描述

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

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

相关文章

TDL - medium synopsis: 厦大易中天教授:鲁迅与先秦诸子

Medium Synopsis on Chinese authentic culture I) website addressII) Excerpts&#xff0c; notes and Quotation I) website address url resource II) Excerpts&#xff0c; notes and Quotation 文学&#xff0c;艺术&#xff0c;美学&#xff0c;心理学&#xff0c;人…

GeoServer 2.11.1升级解决Eclipse Jetty 的一系列安全漏洞问题

Eclipse Jetty 资源管理错误漏洞(CVE-2021-28165) Eclipse Jetty HTTP请求走私漏洞(CVE-2017-7656) Eclipse Jetty HTTP请求走私漏洞(CVE-2017-7657) Eclipse Jetty HTTP请求走私漏洞(CVE-2017-7658) Jetty 信息泄露漏洞(CVE-2017-9735) Eclipse Jetty 安全漏洞(CVE-2022-20…

LeetCode374. Guess Number Higher or Lower——二分查找

文章目录 一、题目二、题解 一、题目 We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to guess which number I picked. Every time you guess wrong, I will tell you whether the number I picked is higher or lower th…

Javaweb之SpringBootWeb案例之事务进阶的详细解析

1.3 事务进阶 前面我们通过spring事务管理注解Transactional已经控制了业务层方法的事务。接下来我们要来详细的介绍一下Transactional事务管理注解的使用细节。我们这里主要介绍Transactional注解当中的两个常见的属性&#xff1a; 异常回滚的属性&#xff1a;rollbackFor 事…

项目02《游戏-14-开发》Unity3D

基于 项目02《游戏-13-开发》Unity3D &#xff0c; 任务&#xff1a;战斗系统之击败怪物与怪物UI血条信息 using UnityEngine; public abstract class Living : MonoBehaviour{ protected float hp; protected float attack; protected float define; …

一款Windows和Linux下应急响应工具

介绍 这是一款在发生应急响应事件时可以快速对Windows和Linux系统的证据链进行收集的工具Linux版本 1、工具放到当前目录中&#xff0c;输入密码&#xff1a;Tes.lo01&#xff0c;选择y进入下一步&#xff1b; 2、输入参数s&#xff0c;即对服务器中的端口、账户、当前用户、…

Linux网络编程——tcp套接字

文章目录 主要代码关于构造listen监听accepttelnet测试读取信息掉线重连翻译服务器演示 本章Gitee仓库&#xff1a;tcp套接字 主要代码 客户端&#xff1a; #pragma once#include"Log.hpp"#include<iostream> #include<cstring>#include<sys/wait.h…

JavaScript进阶教程 - 组合和管道

在函数式编程中&#xff0c;组合&#xff08;Composition&#xff09;和管道&#xff08;Pipelining&#xff09;是两种核心概念&#xff0c;用于将多个函数组合成一个新的函数&#xff0c;使得数据可以通过一系列函数进行转换。这种方式鼓励了更简洁、更模块化的代码编写风格。…

第73左侧菜单实现

layout下面新建menu layout index.vue导入menu import Menu from /views/layout/menu菜单实现&#xff1a; <template><el-menuactive-text-color"#ffd04b"background-color"#2d3a4b"class"el-menu-vertical-demo"default-active&quo…

c语言代码简化小妙招

目录 前言1. 三目运算符2. 循环控制变量声明3. 逗号运算符4. 字符串连接5. 条件赋值6. 使用函数来封装重复的代码块7. 使用预处理指令简化代码 前言 C语言是一种广泛使用的编程语言&#xff0c;具有灵活性和高效性。在编写C语言代码时&#xff0c;可以使用一些简化代码的妙招来…

linux的tree用法

首先自己用yum安装&#xff0c;然后使用下面的命令&#xff1a; tree -d datasets/ datasets/ ├── Avazu │ ├── Avazu_x1 │ └── Avazu_x4 └── Criteo├── Criteo_x1└── Criteo_x46 directories下面的命令展示所有的目录 tree -f datasets/ datasets ├…

9.Swift循环

Swift 循环 在 Swift 中&#xff0c;循环语句用于多次执行特定的代码块。Swift 提供了 for-in 循环、while 循环、repeat-while 循环等不同类型的循环语句。以下是 Swift 中常用的循环语句&#xff1a; 一、for-in 循环 for-in 循环用于遍历一个集合中的所有元素&#xff0c…

灰度发布浅见

在之前的稳定性生产文章中有一项对于研发人员比较重要的措施是变更管控&#xff0c;关于变更管控其实在实际生产活动中有很多措施&#xff0c;因为对于不太的行业&#xff0c;其行业特点和稳定性生产的要求也不一样&#xff0c;例如下图&#xff0c;我们可以看到信通院调研的不…

【开源】SpringBoot框架开发APK检测管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 开放平台模块2.3 软件档案模块2.4 软件检测模块2.5 软件举报模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 开放平台表3.2.2 软件档案表3.2.3 软件检测表3.2.4 软件举报表 四、系统展示五、核心代…

【el-tree 文字过长处理方案】

文字过长处理方案 一、示例代码二、关键代码三、效果图 一、示例代码 <divstyle"height: 600px;overflow: auto"class"text item"><el-treeref"tree":data"treeData":props"defaultProps"class"filter-tree&…

计算机网络——05Internet结构和ISP

Internet结构和ISP 互连网络结构&#xff1a;网络的网络 端系统通过接入ISPs连接到互连网 住宅、公司和大学的ISPs 接入ISPs相应的必须是互联的 因此任何2个端系统可相互发送分组到对方 导致的“网络的网络”非常复杂 发展和演化是通过经济的和国家的政策来驱动的 问题&…

C语言中自定义数据类型

文章目录 C语言中自定义数据类型枚举类型结构体类型复数类型 C语言中自定义数据类型 枚举类型 形式&#xff1a; 声明&#xff1a;enum 枚举类型名 { 枚举符列表, }枚举变量名; 使用&#xff1a;enum 枚举类型名 枚举变量名 枚举符; 枚举变量占4字节与int相同&#xff0c;存…

课堂秩序要求有哪些内容

你是否曾经疑惑&#xff0c;为什么有些课堂总是秩序井然&#xff0c;而有些则混乱不堪&#xff1f;作为一位经验丰富的老师&#xff0c;我想告诉你&#xff0c;课堂秩序不仅仅是学生安静听讲那么简单&#xff0c;它背后涉及到许多关键因素&#xff0c;直接影响着教学质量和学习…

postgresql 手动清理wal日志的101个坑

新年的第一天&#xff0c;总结下去年遇到的关于WAL日志清理的101个坑&#xff0c;以及如何相对安全地进行清理。前面是关于WAL日志堆积的原因分析&#xff0c;清理相关可以直接看第三部分。 首先说明&#xff0c;手动清理wal日志是一个高风险的操作&#xff0c;尤其对于带主从的…

蓝桥杯刷题--python-4

0成绩分析 - 蓝桥云课 (lanqiao.cn) import os import sys # 请在此输入您的代码 n=int(input()) max_=float(-inf) min_=float(inf) res=0 for _ in range(n): score=int(input()) # 最高分 max_=max(max_,score) # 最低分 min_=min(min_,score) # 总分 res+=sc…