• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

c语言链表问题

82f93b391b9acacc 2019-03-30 浏览量:640
c语言中单向链表和双向链表的区别是什么。他们使用什么方式存储的。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 链表是内存中的数据结构,所有内存中的数据结构最后都是指针和其指向的地址以及字节数,

    就是内存中一段区域。理论上链表的存储不一定连续,是用来存储一定相同或类似结构的数据,

    其实包括文件系统、复杂的多媒体数据等等在内存中处理都有链表类似的结构。

    链表有一个头,和若干节点,节点的具体结构依据各个定义、使用要求不同,但统一的都是有

    指向下一或者前一节点的内存指针结构。

    一般链表的通用结构类似

    typeof struct {

        linkNode *Flow

        XXXX datas  

       // 双向列表增加

      // linkNode *Pre

       }linkNode

    单向链表只能从头开始访问、遍历等各种操作,因为它只有Flow指针;双向列表则可以从任何地

    方开始访问、插入、删除、遍历等等,因为它还有Pre指针。


    • 发布于 2019-03-30
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:5
  • 如名字所说,单向链表就是只有一个指向下一个节点的指针。增加删除节点简单,,不会出现死循环。

    双向链表是有2个指针,一个指向前一个节点,一个指向后一个节点。增加删除节点比较复杂。

    • 发布于2019-03-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 单相链表就是数据结构体里面只有上一个结构体的地址,双相链表就是数据结构体里面有两个地址指针,一个是上一个数据结构体的地址,另一种是下数据结构体的指针,双链表第一个的上地址和最后一个下地址为空
    • 发布于2019-03-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 单向链表每个节点只有一个指针值,指向的是下一个节点,而双向链表每个节点有两个指针值,会指向前后节点

    链表的存储,每个节点的空间一般是连续的,不同节点空间可以不连续

    • 发布于2019-03-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 单向链表只能当方向查找,

    双向链表可以双向查找,双向链表是两个指针,正方方向两个,单项链表是一个指针

    • 发布于2019-04-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 单向就是, 只可以从头到尾按指针向一个方向遍历,不可以返过来。
    双向就是,任何时候,从前往后,还是从后往前都可以遍历,两个方向都有指针
    双向循环, 就是一个链表头尾相连,指针也是双方向的,可以从头遍历到尾,再回到头,或者从尾到头遍历,再回到尾
    • 发布于2019-04-01
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

c语言链表问题