リストの初期バージョンにいくつかの調整を加えました。現在は、マジエロ教授の資料に記載されている要件を満たしています。テストに合格するように調整し、C に対して readapt を使用することにしました。その方法で、利用可能なテスト ファイルと組み合わせてコンパイルすることはそれほど問題がないようです。
このリストのコードを再検討すると、二重鎖の循環リストの前にあるより単純なリストを再検討する必要があったため、コーディング時にしっかりした推論をまとめることができました。
各ノードには、値、次のノードへのポインタ、前のノードへのポインタの 3 つの部分が含まれる構造です。
双方向ナビゲーションが可能で、ノードを削除または追加するには、前後のノードのポイントを調整するだけで済みます。
[head] <-> [nó1] <-> [nó2] <-> [tail]
単純にチェーン (片側方向) することも、二重チェーン (これをプロジェクトで使用しているもの) にすることもできます。
リストの最後のノードは最初のノードに接続されています。これは、リストに自然な終了点がないことを意味します。
リストは最後までスクロールすると最初に戻るため、無制限にスクロールできます。
循環二重リンクリストを使用すると、オペレーティングシステムに循環スケーリング機能が搭載されます。
とはいえ、最後のプロセスが実行された後、システムは最初のプロセスに戻って実行を継続します。
オペレーティング システムに 3 つのプロセスがあると想像してください:
[P1] <-> [P2] <-> [P3] <-> [P1] ...
P3 が実行時間を終了すると、リストは直接 P1 に戻り、継続的な実行が保証されます。
現在のオペレーティング システム コードはここにあります。
以上がDia - 二重リンク循環リストの再実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。