线性表顺序存储结构总结

 2024-03-20 04:10:11  阅读 0

线性表的顺序存储也称为顺序表。 它利用一组地址连续的存储单元(如C语言中的数组)将数据元素按顺序存储在线性表中,使得逻辑上相邻的两个元素在物理上也相邻。

数组线性表_数组线性表和数组的区别_数组与线性表的关系

序列表中的任何元素都可以在单位时间内找到其存储位置。

注意:线性表中元素的位序是从1开始的,而数组中元素的下标是从0开始的,这个需要在具体问题中区分清楚。

1.如何建立顺序表的结构

首先我们需要在内存中“找到一块地”,而且是连续的,那么我们就可以先确定存储空间的起始位置; 那么我们还需要知道土地有多大,所以我们还需要确定土地的大小; 最后我们需要匹配表中的每个元素,因此我们需要知道有多少个元素,也就是表的长度。

2、建立序列表三个属性存储空间的起始位置(数组名数据) 序列表最大存储容量() 序列表当前长度()

#50 //定义线性表的最大长度

int //假设表中元素类型为int

{

数据 []; //序列表(数组)的元素

整数; //当前序列表的长度

}; //序列表的类型定义

这里线性表的数组数据是静态分配的(开放数组),大小固定,满了就会溢出。

事实上,数组也可以动态分配空间。 存储数组的空间是在程序执行过程中通过动态存储分配语句分配的。

整数;

{

*数据; //指示动态分配数组的指针

整数,; //最大容量和当前数组数量

};

C语言动态分配语句

#100

L;

L.data=(*)(()*);

注意:动态分配不是链式存储,仍然是顺序存储结构,但是分配的空间大小可以随时操作。

3.总结 序列表的主要特点是随机访问(基于C语言中的数组),即通过首地址和元素序号可以在O(1)时间内找到指定元素。 顺序表的存储密度较高,每个节点只存储数据元素。 不需要在表中的元素上花费空间来建立它们之间的逻辑关系(因为物理位置相邻的特性)。 序列表中逻辑上相邻的元素在物理上也相邻,因此插入和删除操作需要移动大量元素。

标签: 顺序 存储 元素

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码