zoukankan      html  css  js  c++  java
  • 线性链表如何选择二级指针还是一级指针

           网上很多人说需要改变链表的时候就要用二级指针,比如create,delete,destroy...但很多次我用一级指针也能正确操作链表,经过思考和对比,终于总结出:一般有头结点的链表用一级指针即可,无头节点且要操作表头head时就要用的到二级指针。

      使用二级指针的原因就是为了操作原生原味的head。一级指针传过去的之是一个地址拷贝,链表头指针的地址在函数内是无法操作的。

      比如要删除节点时,删除中间节点和尾节点时不用二级指针。但是删除头节点时,不是删除了就完事,头节点没有了必须寻找另一个头节点。即第二个。 但此时不用二级指针的话是访问不了main()函数里的表头指针的。。

      同理,因为有头节点的链表是不用操作head的,我head始终不变,其他的你们爱怎么折腾怎么折腾。。所以一级指针传个head过去就完全OK啦。。

  • 相关阅读:
    Synchronized锁升级
    锁削除和锁粗化
    自旋锁
    Synchronized原理
    浅谈AQS原理
    JSON使用
    JSON语法
    Decode Ways
    String to Integer(atoi)
    Leetcode:Reverse Words in a String
  • 原文地址:https://www.cnblogs.com/funnylinux/p/3482881.html
Copyright © 2011-2022 走看看