一般线性表和数组有什么区别?各有什么特点?

发布网友 发布时间:2022-04-20 00:34

我来回答

3个回答

热心网友 时间:2023-09-25 13:48

从定义上来看,线性表和数组都是数据元素的有序集

1、数组有维度(比如三维数组)的概念而线性表没有

2、数组和线性表上可进行的操作不一样。一般我们不在数组上进行数据插入和删除的操作,同样,我们也无法直接通过数据序列来访问线性表中的数据单元(比如表中第i个元素)。

热心网友 时间:2023-09-25 13:48

线性表是一种概念,一种方法。我们最开始定义数组,是比较死的。不能任意改变大小,而线性表则能。
如:int a[10]这是定义了一个只能有10个元素。
而在线性表中
class list
{
private:
int val//用于储存元素的值
list *nextPtr;//用于指向下个元素的指针
public:
..
..
};
很明显它可以存很多的元素,(当然要在内存的范围内,呵)
在数据结构中都会讲到的。

热心网友 时间:2023-09-25 13:49

区别主要在动态分配上,现代语言支持动态数组,可以在运行期决定数组大小,但早期语言并不支持,因此数组必须在编译器确定大小。

而线性链表可以动态决定大小,随时删减添加,并且能够知道元素个数。数组除非用动态定义否则你要自己知道元素个数。比如c就不支持动态数组,但c99支持。iso c++也不支持,但c+0x支持。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com