两者都属于一种数据结构html
从逻辑结构来看程序员
1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的状况。当数据增长时,可能超出原先定义的元素个数;当数据减小时,形成内存浪费;数组能够根据下标直接存取。数组
2. 链表动态地进行存储分配,能够适应数据动态地增减的状况,且能够方便地插入、删除数据项。(数组中插入、删除数据项时,须要移动其它数据项,很是繁琐)链表必须根据next指针找到下一个元素数据结构
从内存存储来看spa
1. (静态)数组从栈中分配空间, 对于程序员方便快速,可是自由度小指针
2. 链表从堆中分配空间, 自由度大可是申请管理比较麻烦 htm
从上面的比较能够看出,若是须要快速访问数据,不多或不插入和删除元素,就应该用数组;相反, 若是须要常常插入和删除元素就须要用链表数据结构了。blog
http://www.cnblogs.com/FCWORLD/archive/2010/11/20/1882391.html内存
http://blog.sina.com.cn/s/blog_75b0e2ad0101bx53.htmlclass