1 链表与顺序表的比较:

优点:

a:上溢

  链表主要的优点在于动态存储的灵活性,除非计算机的内存耗尽,否则不会出现上溢的情况。

b:修改

  链表的修改会比顺序表快。因为修改指针的速度比将顺序表中元素的值复制给其他的节点更快,主要体现在删除和插入两个方面。

缺点:

a:空间利用

  链表的指针本身要占用内存,一个指针和一个整数的内存一样,都是4个字节,导致这些空间不能另作他用。但是在实际应用中节点会很大,经常会是几百个字节,所以指针占的内存相对来讲就少了。假设节点的数据有100个字节,而顺序表则将数组超过99%填满,才能使节约的内存和链表相当。所以,指针占用的内存可以忽略不计(当节点比较打的时候)。

b:随机访问

  顺序表可以很快的访问到数组中的任何位置,而链表则要遍历到访问的位置,得到该节点的指针,然后再访问数据。

因此,总结如下

顺序表的情况:

1 当元素非常小的时候

2 在编写程序就已知表的长度的时候

3 除了在表尾外有很少的插入的时候

4 随机访问很重要的时候

链表的情况

1 元素较大的时候

2 编程前不知道表长度的时候

3 当插入、删除、和重排元素比较重要的时候