ホームページ  >  記事  >  バックエンド開発  >  C++を使用したリンクリスト内の要素の検索

C++を使用したリンクリスト内の要素の検索

WBOY
WBOY転載
2023-09-10 15:01:02862ブラウズ

C++を使用したリンクリスト内の要素の検索

リンク リスト内の要素を検索するには、リンク リスト全体を反復処理し、各ノードを必要なデータと比較し、一致するものが見つかるまで検索を続ける必要があります。リンク リストではランダム アクセスが提供されないため、最初のノードから検索を開始する必要があります。

整数のリンク リストと整数のキーを取得します。このキーがリンクされたリストに存在するかどうかを確認する必要があります。リンクされたリスト内で単純な線形検索を実行してキーを見つけることができます。存在する場合は「Yes」を返し、存在しない場合は「No」を返します。

いくつかの入出力シナリオを見てみましょう -

リストをフェッチしました。リスト内に要素が存在するかどうかを確認し、指定されたキー 3 -

を使用して対応する出力を取得する必要があります。 リーリー

キー 5 を使用した別のシナリオを考えてみましょう -

リーリー

アルゴリズム (ステップ)

以下は、必要なタスクを実行するために従う必要があるアルゴリズム/手順です -

  • ヘッダーを空に設定します。

  • リンクされたリストにいくつかの項目を追加します

  • ユーザーが入力した検索対象の項目を取得します。

  • 空のノードに到達するまで、リンク リストを最初から最後まで線形に走査します。

  • 各ノードをチェックして、データ値が検索対象の項目と一致するかどうかを確認します。

  • データが見つかったノードのインデックスを返します。見つからない場合は、次のノードに進みます。

  • ###例###
たとえば、「52->4651->42->5->12587->874->8->null」のようなリンク リストがあり、そのキーは 12587 です。この例を実装する C プログラムを以下に示します。 -

リーリー ###出力### リーリー ###例###

今度は再帰的手法を使用して同じ問題を解決します -

リーリー ###出力### リーリー ###結論は###

時間計算量は O(n) です。私たちはこの問題を解決するために反復的なアプローチを使用します。この問題を再帰的に試してください。

以上がC++を使用したリンクリスト内の要素の検索の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。