静态顺序表和动态顺序表区别
静态顺序表的定义
#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指针指向新的空间并且释放旧空间
静态顺序表和动态顺序表区别相关推荐
- 静态顺序表和动态顺序表区别的优缺点比较
静态顺序表 typedef int DataType;#define MAX_SIZE (100)typedef struct SeqList {DataType array[MAX_SIZE];in ...
- shardingjdbc全局表_Sharding-JDBC动态分表实现
Sharding-JDBC动态水平分表实现 背景: 在项目中遇到了按照日期动态水平分表的需求,系统属于监控系统,每10分钟保存一次监控数据,并且每次要采集200个节点上的数据,即每次采集数据(间隔10 ...
- 【线性表】—动态顺序表的增删查改实现
小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan(所有的原码都放在了我上面的gitee仓库里) 数据结构知识点存放在专栏[数据结构]后续会持续更新 ❤❤❤ 个人简介 ...
- c语言pushback用法,C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack...
#include #include #include #include #include typedef int DateType; typedef struct SeqList { DateType ...
- python动态生成数据库表_Python-Flask:动态创建表的示例详解
今天小编从项目的实际出发,由于项目某一个表的数据达到好几十万条,此时数据的增删查改会很慢:为了增加提高访问的速度,我们引入动态创建表. 代码如下: from app_factory import ap ...
- 在MySQL中实现交叉表查询2(动态交叉表)
在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...
- Mysql预编译动态拼接表名查询
1.实现目标,现在对deal_runnning表进行按年月分表,需要动态拼接表名查询 2.需要执行此sql .表名要动态拼接,目标sql如下,使用concat连接表名无效. SELECT id, ba ...
- mysql 动态 建表,mysql数据库动态创建表的实例分享
摘要 腾兴网为您分享:mysql数据库动态创建表的实例分享,易视云3,完美root,刷机大师,手游宝等软件知识,以及清仓兔,找明星,爱普生1500w,txt完结小说全本软件,windows自带画图软件 ...
- Hash表(哈希表、散列表)
哈希表 概念 为什么需要哈希表 静态查找表与动态查找表中,为了查找某关键字值等于某个值的记录,都要经过一系列的关键字进行比较,以确定待查记录的储存位置或查找失败,查找的时间总是与比较次数有关 什么是哈 ...
最新文章
- iOS根据Debug和Release状态的变化来屏蔽日志输出
- 隐式转换和显式转换及强制转换的区别
- 移动互联网的机会-从零创业,半年净赚50万?
- 方差、标准差、均方差、均方误差理解
- Paxos与zookeeper
- java小编程----反转字符串中的每一个单词
- ansible+heartbeatV2构建高可用群集
- ECMAScript 2015~2020 语法全解析
- 微信处罚腾讯判定其滥用原创:不要惹我 我狠起来能铁锅炖自己!
- xp系统windows 组件向导无iis安装选项解决办法
- 网站访客 简易日志记录
- TCP三次握手四次挥手介绍
- JDBC 增删改查操作示例
- 从HCNA到HCIE的运营商工程师走过的路,迈过的坎,欢迎参考自身情况
- CTFSHOW【萌新计划】Writeup
- java计算base64图片大小
- 【重磅】聚焦券商终端业务,博睿数据发布新一代券商终端核心业务体验可观测平台
- 使用python embedded distribution
- python统计词频瓦尔登湖_点评《瓦尔登湖》
- ASEMI可控硅模块MTC110-16为何能得到大家的青睐