链表和数组的区别
2015-01-12 10:40
162 查看
(1)从逻辑结构上看,数组在初始化时必须固定其长度,无法动态增加元素,容易造成越界或内存浪费,链表可以动态的插入和删除数据项;
(2)从内存上看静态的数组从栈中分配内存空间,对于程序员来说自由快捷但是自由度小,链表则在堆中分配内存空间,自由度大,但是申请比较麻烦;
(3)从访问的方式看,数组在内存中是连续存储的,因此可以利用下标元素进行访问,链表是链式存储的,在访问元素的时候通过线性的方式由前向后顺序访问,所以访问的效率比数组低;
(2)从内存上看静态的数组从栈中分配内存空间,对于程序员来说自由快捷但是自由度小,链表则在堆中分配内存空间,自由度大,但是申请比较麻烦;
(3)从访问的方式看,数组在内存中是连续存储的,因此可以利用下标元素进行访问,链表是链式存储的,在访问元素的时候通过线性的方式由前向后顺序访问,所以访问的效率比数组低;