【C语言】一维数组与单链表的区别
时间:2010-10-20 来源:chenliangmoran
简单地总结下一维数组(以下简称数组)与单链表(以下简称链表)的区别:
1.大小 数组要指定固定大小,在使用前要先将大小确定下来; 链表没有这方面的限制,可以使用所有可用的内存空间。 2.内存使用 数组在内存中使用的是一段连续的内存空间;链表在内存中是随机分布的。 3.堆栈使用 数组在栈中;链表在堆里。 3.访问效率 可以使用下标直接访问数组中的元素;而要访问链表中某个节点,必须从头节点开始查找。 这一项数组效率要高过链表,数组获胜,呵呵... 4.插入、删除效率 在插入或者删除数组中的元素时,其后的所有元素都要被移动; 而在链表中插入或者删除某节点时,只需修改指针即可,不需要移动节点。 这一项链表的执行效率高。
1.大小 数组要指定固定大小,在使用前要先将大小确定下来; 链表没有这方面的限制,可以使用所有可用的内存空间。 2.内存使用 数组在内存中使用的是一段连续的内存空间;链表在内存中是随机分布的。 3.堆栈使用 数组在栈中;链表在堆里。 3.访问效率 可以使用下标直接访问数组中的元素;而要访问链表中某个节点,必须从头节点开始查找。 这一项数组效率要高过链表,数组获胜,呵呵... 4.插入、删除效率 在插入或者删除数组中的元素时,其后的所有元素都要被移动; 而在链表中插入或者删除某节点时,只需修改指针即可,不需要移动节点。 这一项链表的执行效率高。
相关阅读 更多 +