算法—顺序表(二)

导读:本篇文章讲解 算法—顺序表(二),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、顺序表的结构

表头:存储顺序表的信息
包括数据区的容量和当前表中已有的元素个数
数据区:存放表中元素数据

在这里插入图片描述
我们在创建一个数据表的时候先明确要存储多少的数据,顺序表数据要求连续的存储在内存空间中,所以先向计算机内存中申请连续的内存空间,而并不是用一个再取申请一个,所以要先预估容量是多少
如果用一个取申请一个内控地址,内存地址不会连续,可能有其他的程序在计算机中申请了内存地址

二、顺序表分类

一体式顺序表:表头与数据区存放在一起
在这里插入图片描述
如图为:内存容量为为4,元素个数为3,存储的数据为12,34,56,3个数据
在这里插入图片描述

分离式顺序表:表头与数据区分开存储
在这里插入图片描述
如图:内存容量为4,元素个数为3,存储的数据是12,34,56三个数据
在这里插入图片描述

三、顺序表扩充

扩充需要申请一块更大的数据区

一体式顺序表:表头和数据区存储在一起,扩容时表头也要跟着变化
分离式顺序表:表头和数据区分开存储,扩容时表头不足要变化

四、一体式顺序表和分离式数据表的区别

1、查询数据
a=[12,34,56]
通过第一个地址,根据公式可以得到其他数据所在的地址
分离式数据表:根据表头内存地址先要拿到数据区的内存地址(第一个数据所在的内存地址),再根据第一个地址去拿其他数据的地址
2:扩容
例如:要在列表中新增2个数据78,90
a=[12,34,56,78,90]
原内存空间不够,需要申请内存空间
一体式数据表表头需要改变
在这里插入图片描述

分离式数据表表头不改变
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74330.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!