单链表就是一个节点链一个节点的那种而顺序表,通常采用动态数组的形式。
操作上的区别,单链表在增删上面有优势,比顺序表效率高。 顺序表增删还需要移动顺序表的优势,可以通过下标直接索引到该元素,查询快。
先说说顺序表,一次申请多个空间,像这样mallco(sizeof(type)*N),type可以使任意的类型,包括结构体定义的。N为整数,这样得到的就是N个连续的空间。顺序表可以利用类似于数组的形式访问,即通过下标访问。当然定义的变量类型必须是指针类型的,很方便,当然也可以通过像链表一样的访问。单链表嘛,只是将空间分散开了,这样的优点就是动态申请,需要多少就申请多少,一般一次申请一个空间结点,即N=1。当然顺不表也可以实现需要多少就申请多少。但一般就是初始申请多少,不够按一定的量继续申请。说到底,顺序表访问比较方便,单链表动态申请比较灵活。
顺序表:内存中地址连续
长度不可变更
支持随机查找 可以在O(1)内查找元素
适用于需要大量访问元素的 而少量增添/删除元素的程序
链表 :内存中地址非连续
长度可以实时变化
不支持随机查找 查找元素时间复杂度O(n)
适用于需要进行大量增添/删除元素操作 而对访问元素无要求的程序
此资料查询了网上信息