ノードのリストを削除する18

タイトル:ヘッド・ポインタ・リストの順序とノードへのポインタをO(1)時間でリストノードを削除します。

delete_list_node DEF(根、RP):
    つのみ#接合点
    :IFルート==のRP 
        ルート= root.next 
        デルRPの
        戻りルート

    削除#が最後のノードである
    rp.next IF ==なし:
        Q =ルート
        = q.next中のRP:!
            Q = q.next 
        q.next =なし
        デルRP 
        ルートを返す
    他:
        Q = rp.next 
        rp.data = q.data 
        rp.next = q.next 
        デルQは
        根を返します

注意:

ケース1:削除ヘッドノードが直接head.nextが返されます。(この場合は、リストは、ヘッドノードを含みます)

ケース2:リストの最後のノードを削除し、ノードを削除するために、前駆体ノードを取得するには、リストを横断する必要がある、なしに、ノードポインタ、ノードを削除します

ケース3:その後の後継者へのポインタを聞かせて、現在のノードにノードの後続ノード値を複製し、中間ノードを削除します

おすすめ

転載: www.cnblogs.com/kingshine007/p/11350497.html