回覆列表
  • 1 # 使用者9002976109915

    說一下思路,首先要找到s的前驅,然後刪除它。刪除它之前要更新前驅的前驅的next指標指向s迴圈單鏈表找前驅節點,可以用2個指標next和prev。令next始終在prev前面一步,那麼當next迴圈一圈時,prev指向的就是原節點的前驅所以寫一下虛擬碼prev = s.next //上面提到的prevnext = s.next.next //上面提到的nextpprev = null //存放前驅的前驅if(next == s)//連結串列只有2個節點,那麼刪除prev s.next = s next = null returnwhile(next != s)//讓next和prev一直走下去,直到迴圈一圈。這時prev就是s的前驅。用pprev記錄prev的前驅 next = next.next pprev = prev prev = prev.nextpprev.next = s//更新pprev的next指標,然後釋放prevprev = null

  • 中秋節和大豐收的關聯?
  • 鹹肉香腸菜飯的做法,鹹肉香腸菜飯怎麼做好吃?