静态顺序表的定义

#define MaxSize 10               //定义最大长度
typedef int ElemType;
typedef struct{         Elemtype data【MaxSize】;   //用“静态”的数组存放数据元素       int length;                 //顺序表的当前长度
}SqList;                        

静态数组的特点:大小一旦确定,不能改变。

声明data数组时,会在内存中开辟一整片连续的存储空间,大小为MaxSize*sizeof(ElemType) ,对于本次来说,大小为10*4B

动态顺序表的定义

#define MaxSize 10          //顺序表的初始长度
typedef int ElemType;
typedef struct{         ElemType *data;         //顺序表 动态分布数组的指针 int length;             //顺序表的当前长度int capacity;         //顺序表的最大容量
}SqList;

动态分配数组的大小、容量可变,由MaxSize表示顺序表动态分配的最大容量,由length记录当前顺序表的长度。
malloc、free 包含着 #include<stdlib.h>
动态申请内存空间:malloc函数
会申请连续的一整片的内存空间,malloc 函数返回一个指针,需强制转换成你所定义的数据元素类型指针
L.data = (ElemType *) malloc(sizeof(ElemType) * MaxSize)
其中ElemType 我所定义的为 int , MaxSize即顺序表的初始长度
动态释放内存空间:free函数

区别

静态顺序表:创建顺序表的时候容量已经确定为MaxSize,不可以更改。

动态顺序表:创建顺序表的时候容量是由malloc函数动态开辟,当容量不够用时可以增加容量capacity。
扩容方法:动态开辟一块新的空间(一般为原空间的两倍),将原空间的数据拷贝到新的空间,然后让data指针指向新的空间并且释放旧空间

静态顺序表和动态顺序表区别相关推荐

  1. 静态顺序表和动态顺序表区别的优缺点比较

    静态顺序表 typedef int DataType;#define MAX_SIZE (100)typedef struct SeqList {DataType array[MAX_SIZE];in ...

  2. shardingjdbc全局表_Sharding-JDBC动态分表实现

    Sharding-JDBC动态水平分表实现 背景: 在项目中遇到了按照日期动态水平分表的需求,系统属于监控系统,每10分钟保存一次监控数据,并且每次要采集200个节点上的数据,即每次采集数据(间隔10 ...

  3. 【线性表】—动态顺序表的增删查改实现

    小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan(所有的原码都放在了我上面的gitee仓库里) 数据结构知识点存放在专栏[数据结构]后续会持续更新 ❤❤❤ 个人简介 ...

  4. c语言pushback用法,C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack...

    #include #include #include #include #include typedef int DateType; typedef struct SeqList { DateType ...

  5. python动态生成数据库表_Python-Flask:动态创建表的示例详解

    今天小编从项目的实际出发,由于项目某一个表的数据达到好几十万条,此时数据的增删查改会很慢:为了增加提高访问的速度,我们引入动态创建表. 代码如下: from app_factory import ap ...

  6. 在MySQL中实现交叉表查询2(动态交叉表)

    在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...

  7. Mysql预编译动态拼接表名查询

    1.实现目标,现在对deal_runnning表进行按年月分表,需要动态拼接表名查询 2.需要执行此sql .表名要动态拼接,目标sql如下,使用concat连接表名无效. SELECT id, ba ...

  8. mysql 动态 建表,mysql数据库动态创建表的实例分享

    摘要 腾兴网为您分享:mysql数据库动态创建表的实例分享,易视云3,完美root,刷机大师,手游宝等软件知识,以及清仓兔,找明星,爱普生1500w,txt完结小说全本软件,windows自带画图软件 ...

  9. Hash表(哈希表、散列表)

    哈希表 概念 为什么需要哈希表 静态查找表与动态查找表中,为了查找某关键字值等于某个值的记录,都要经过一系列的关键字进行比较,以确定待查记录的储存位置或查找失败,查找的时间总是与比较次数有关 什么是哈 ...

最新文章

  1. iOS根据Debug和Release状态的变化来屏蔽日志输出
  2. 隐式转换和显式转换及强制转换的区别
  3. 移动互联网的机会-从零创业,半年净赚50万?
  4. 方差、标准差、均方差、均方误差理解
  5. Paxos与zookeeper
  6. java小编程----反转字符串中的每一个单词
  7. ansible+heartbeatV2构建高可用群集
  8. ECMAScript 2015~2020 语法全解析
  9. 微信处罚腾讯判定其滥用原创:不要惹我 我狠起来能铁锅炖自己!
  10. xp系统windows 组件向导无iis安装选项解决办法
  11. 网站访客 简易日志记录
  12. TCP三次握手四次挥手介绍
  13. JDBC 增删改查操作示例
  14. 从HCNA到HCIE的运营商工程师走过的路,迈过的坎,欢迎参考自身情况
  15. CTFSHOW【萌新计划】Writeup
  16. java计算base64图片大小
  17. 【重磅】聚焦券商终端业务,博睿数据发布新一代券商终端核心业务体验可观测平台
  18. 使用python embedded distribution
  19. python统计词频瓦尔登湖_点评《瓦尔登湖》
  20. ASEMI可控硅模块MTC110-16为何能得到大家的青睐

热门文章

  1. vue安装postcss-pxtorem报错
  2. 高频交易(一)应用于高频交易中的对冲策略分析
  3. 纯千兆电口模块和自适应电口模块的区别
  4. MT4/MQL4入门到精通EA教程第六课-MQL语言常用函数(六)-常用订单功能函数
  5. JavaScript基础 | Day02 JavaScript的运算符、语句、综合案例
  6. 有了花呗还需要办信用卡吗?
  7. C语言#判断今天是工作日还是休息日
  8. 解决欠拟合和过拟合的几种方法
  9. 经典:DotNetBar Suite UI 7.9 for WPF Crack
  10. cgroup使用举例和linux内核源码详解