线性表之顺序存储结构

2023-11-02

线性表是n(n≥0)个数据类型相同的数据元素组成的有限序列,数据元素之间是一对一的关系,即每个数据元素最多有一个直接前驱和一个直接后继
线性表的顺序存储结构是指在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,元素之间的逻辑关系通过存储位置来反映,用这种存储形式存储的线性表称其为顺序表。
一维数组在内存中占用的存储空间是一组连续的存储区域,因此用一维数组来表示顺序表的数组存储区域是最合适的。顺序表具有按数据元素的序号随机存取的特点。

C语言描述顺序存储结构的线性表
#define MAXSIZE 100   /*线性表的最大长度*/
typedef  struct  Linear_list
{
      datatype  elem[MAXSIZE];          /*定义数据域*/
      int last;                         /*线性表中最后一个元素在数组elem[]中的位置*/
}SeqList;

①顺序表上插入操作的实现

int InsertList(SeqList  *Lp,int i,datatype x)/*i:插入的位置;x:插入的元素*/
{
       int j;
       if(Lp->last == MAXSZE-1){/*表空间已满,不能插入*/
            printf("表空间已满!");
            return (-1);
       }
       if(i<1 || i>Lp->last+2){/*检查插入位置是否正确*/
            printf("插入位置有误1");
            return(0);
       }
       for(j = Lp->last;j>=i-1;--j){/*移动结
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线性表之顺序存储结构 的相关文章

随机推荐

  • JAVA - File类、字节流、字符流、特殊操作流

    1 File类的构造方法 File类的创建文件功能 File类的判断和获取功能 File类的删除功能 2 IO流 字节流 字符流 字节流 处理字节数据 字节流以字节为单位处理数据 适用于处理二进制文件 如图像 音频 视频文件 或以字节为基本
  • 剑指 Offer 39. 数组中出现次数超过一半的数字(java+python)

    数组中有一个数字出现的次数超过数组长度的一半 请找出这个数字 你可以假设数组是非空的 并且给定的数组总是存在多数元素 示例 1 输入 1 2 3 2 2 2 5 4 2 输出 2 限制 1 lt 数组长度 lt 50000 java cla
  • Kali 系统基本调试

    目录 前言 实现root登录 方法一 方法二 更新kali系统内核 安装搜狗输入法 安装WPS Firefox 浏览器调优 将 Firefox 浏览器设置为中文 操作如下图 firefox 关闭 success txt 及开启插件安装 更新
  • Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符

    Java 定义的位运算 bitwise operators 直接对整数类型的位进行操作 这些整数类型包括 long int short char 和 byte 位运算符主要用来对操作数二进制的位进行运算 按位运算表示按每个二进制位 bit
  • spring cloud alibaba 组件使用小结

    一 Spring Cloud Alibaba简介 1 1 什么是Spring Cloud Alibaba Spring Cloud Alibaba 是阿里提供的微服务开发一站式解决方案 是阿里巴巴开源中间件与 Spring Cloud 体系
  • [558]python3之数组(array)

    https docs python org 3 5 library array html module array 当我们需要1000万个浮点数的时候 数组 array 的效率要比列表 list 要高得多 因为数组在背后存的并不是float
  • Redis基础篇-03-Redis的数据类型---String(单值单Vlue)

    文章目录 1 简介 2 常用Api可以查阅如下链接分档 3 案例 4 分布式锁 4 1 锁的可靠性 4 2 过期时间设定 4 3 有效期续约 看门狗 4 4 redis分布式锁设计成可重入锁思路 1 简介 String是redis最基本的类
  • SQL语句笔记

    书写顺序 select from where group by having order by limit 基本组成 from 后跟着原表 where 表示在计算前对原表的记录进行筛选 group by 用于分组 在from where g
  • 无刷电机和有刷电机的比较

    如下图 取自硬石电子 下图中左边是有刷电机 右边为无刷电机 无刷电机的一般驱动电路 BLDC 无刷直流电机 和PMSM 永磁同步电机 的区别
  • es6中的generator函数详解

    Generator 函数的定义 语法上 Generator 函数是一个状态机 封装了多个内部状态 形式上 Generator是一个函数 不同于普通函数 是可以暂停执行的 所以函数名之前要加星号 以示区别 整个Generator函数就是一个封
  • 新手学编程必会的100个代码

    这是本文的目录 前言 1 for循环中的else条件 2 数字求和 3 随机数生成 4 将列表中的所有元素作为参数传递给函数 5 获取列表的所有中间元素 6 使用一行代码赋值多个变量 7 Python清空列表 8 通过Enum枚举同一标签或
  • 基本数据类型的包装类

    基本数据类型的包装类 基本数据类型 数值 整数int byte short long 浮点型 float double 字符 char 布尔 boolean java是面向对象的语言 所有的对象都是继承自Object 对象都有属性和方法 但
  • 告别csdn,迁移到自己的博客网站

    一年过去了 懵懵懂懂也学了一些web网安的知识 写了大概60多篇的文章吧 不过自己太懒了 就没放到csdn上 后面干脆自己搭了一个博客网站 用springboot vue写的 当然这里面参考了很多大佬的代码 无论如何 自己也还只是踏入安全圈
  • 实现数组洗牌函数

    我们可能最常使用打乱数组顺序的方法是 Array prototype sort const shuffle list gt list sort x y gt Math random 0 5 但这种方法不是完全随机的 我们可以使用 Fishe
  • Python爬取美女图片案例

    爬虫常规思路 1 分析网页 2 对网页发送请求 获取响应 3 提取解析数据 4 保存数据 本案例所用到的模块 import requests import parsel import os 一 分析网页 分析思路 这个图片网站和别的图片网站
  • linux无法启动oracle数据库,Oracle数据库无法启动?可能是Linux的锅

    近日 在初始化系统的时候 有报错 最后查的是因为部署在一台linux系统上的oracle数据库有异常 登陆到系统中 切换到oracle用户查看数据库状态时 报错现象如下 再查看磁盘空间使用情况df h查看 根目录磁盘空间已经满了 sda3磁
  • 开关电源仿真与设计基于spice 第2版 中译本_电子电路设计SIMetrix / SIMPLIS 8.4介绍及安装教程...

    SIMetrix SIMPLIS 为模拟和电力电子工程师提供专业的电路设计和仿真工具 SIMetrix和SIMPLIS是在SIMetrix开发环境中工作的独立模拟器 可提供原理图输入 波形捕获和内置脚本 SIMetrix是一种混合信号电路模
  • 【Leetcode刷题】算法:罗马数字转整数

    文章目录 一 问题 二 代码理解 一 问题 二 代码理解 class Solution def romanToInt self s str gt int answer 0 length len s d I 1 V 5 X 10 L 50 C
  • Windows小Tips:在终端中优雅使用Vim

    Vim 本是 Linux 系统上一款文本编辑器 它是操作 Linux 的一款利器 程序员熟练使用后效率会显著提升 作为同时Windows的我也希望在Windows如Linux中那般优雅使用Vim Menu 一 将VIM添加至终端 二 将Vi
  • 线性表之顺序存储结构

    线性表是n n 0 个数据类型相同的数据元素组成的有限序列 数据元素之间是一对一的关系 即每个数据元素最多有一个直接前驱和一个直接后继 线性表的顺序存储结构是指在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素 元素之间的逻辑关