数组是一种什么数据结构?是线性表吗?

2024-11-16 16:35:42
推荐回答(1个)
回答1:

所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
数组和线性表不一样。

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

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