特定のノードを考える1.10ノードポインタ項を削除します

ノードのリンクリストへのポインタのための単一のケースを削除するノード

件名の説明:

与えられたリストを想定1-> 2-> 3-> 4-> 5-> 6> 7は、最初の要素5,5へのポインタは、リストは、1-> 2-なる削除、削除するノードを必要と> 3-> 4-> 6> 7

アイデアの分析:

  1. このノードがリストの最後のノードである場合は、このノードを削除することはできません。
  2. 最後のノードが現在のノードでその後継ノードにデータをコピーすることによって、ノードリンクリストでない場合、メソッドの後続ノードを削除します。

    コードの実装:

    # - -coding:UTF-8 -
    "" "
    @Author:图南
    @Software:PyCharm
    @time:2019年9月7日19:46
    """
    クラスノード:
    デフのinit(自己、データ=なし、次回=なし):
    self.data =データ
    次self.next =

    デフprintLink(ヘッド):
    ヘッドがNoneまたはhead.nextがNoneの場合:
    戻る
    CUR = head.next
    しばらくCUR =なし:!
    プリント(cur.data、エンド=」「)
    CUR = cur.next
    印刷()

    デフconLink(NUMS、N):
    NUMS =リスト(マップ(int型、nums.split(」「)))
    のn =(n)はint型
    lenの場合(NUMS)== 0あるいはn == 0:
    リターン
    P =なし
    ヘッド=ノード()
    CUR =ヘッド
    範囲でI(1、LEN(NUMS)+1):
    ノード=ノード(NUMS [I-1])
    cur.next =ノード
    CUR =ノード
    どうか== N:
    P = CUR
    リターンヘッド、P

    デフdeleteP(P):
    :p.nextはNoneでない場合
    はFalseを返す
    p.dataを= p.next.dataの
    p.next = p.next.nextの
    真のリターン

    IF 名称 == ' メイン ':
    NUMS = INPUT( 'リスト:')
    N-INPUT =( 'ノード')
    ヘッド、P = conLink(NUMS、N-)
    '削除する前に:')プリント
    PrintLink(ヘッド)
    F deleteP =(P-)
    :F IF
    印刷( '削除した後:')
    PrintLink(ヘッド)
    他:
    ( '!削除することはできません')を印刷

    結果:


おすすめ

転載: www.cnblogs.com/miao-study/p/11482889.html