数组和链表的区别

数组无需初始化,因为数组的元素在内存的栈区,系统自动申请空间。

而链表的结点元素在内存的堆区,每个元素须手动申请空间,如malloc。也就是说数组是静态分配内存,而链表是动态分配内存。

数组和链表的区别整理如下:

数组静态分配内存,链表动态分配内存;

数组在内存中连续,链表不连续;

数组元素在栈区,链表元素在堆区

数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);

数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。

原文地址:https://www.cnblogs.com/shunyu/p/8545523.html