一般线性表和数组有什么区别?各有什么特点?
发布网友
发布时间: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
区别主要在动态分配上,现代语言支持动态数组,可以在运行期决定数组大小,但早期语言并不支持,因此数组必须在编译器确定大小。
而线性链表可以动态决定大小,随时删减添加,并且能够知道元素个数。数组除非用动态定义否则你要自己知道元素个数。比如c89就不支持动态数组,但c99支持。iso c++也不支持,但c+0x支持。