目次
Python のリンクされたリスト
先頭に要素を追加します
最後に要素を追加することは、リストの先頭に追加することとは論理的に異なります。今回は、最初のノード (つまり、head) ではなく、リストの最後のノードにアクセスする必要があります。
ここで問題は、要素を追加するリストが空のリストであるか、またはすでにいくつかの要素が含まれているかを確認することです。
ホームページ バックエンド開発 Python チュートリアル Python プログラム: リンクされたリストの最初と最後の位置に要素を追加します

Python プログラム: リンクされたリストの最初と最後の位置に要素を追加します

Aug 23, 2023 pm 11:17 PM
リンクされたリスト 要素の追加

Python プログラム: リンクされたリストの最初と最後の位置に要素を追加します

Python では、リンク リストは一連のノードで構成される線形データ構造であり、各ノードには値とリンク リスト内の次のノードへの参照が含まれます。

この記事では、Python でリンク リストの最初と最後の位置に要素を追加する方法について説明します。

Python のリンクされたリスト

リンク リストは、要素のセットを格納するために使用される参照データ構造です。これはある意味配列に似ていますが、配列ではデータは連続したメモリ位置に格納されますが、リンク リストではデータはこの条件の影響を受けません。これは、データが順番にメモリに保存されるのではなく、ランダムにメモリに保存されることを意味します。

ここで 1 つの疑問が生じます。それは、リンク リスト内の要素にどのようにアクセスできるかということです。リンク リストでは、リストの最後まで 1 つの要素が別の要素を指しているため、その答えは非常に直感的です。

リストの先頭と末尾は特別な位置として扱われます。リストの先頭は先頭と呼ばれ、最初の要素を指します。最後の要素は NULL を指すという点で特別です。

リーリー

リンク リストの先頭と末尾にアクセスする方法がわかったので、要素を反復処理してリンク リスト内のデータにアクセスする方法を見てみましょう。

リンク リストのトラバースは非常に簡単で、次のノードに最初からアクセスするだけです。次のノードが NULL であるノードが見つかるまでこのプロセスを繰り返します。ノード内のデータにアクセスするには、矢印演算子「->」を使用します。

リーリー

これで、この問題の解決を開始するために必要なすべての理解が得られました。

先頭に要素を追加します

リンク リストの先頭にデータを追加するには、リンク リストの先頭を考慮する必要があります。リンク リストの先頭にノードを追加するたびに、リンク リストは新しく追加されたノードで変更されます。ノードはリストの最初のノード/先頭です。

###アルゴリズム###

ステップ 1

– 新しいノードを作成します

ステップ 2

- 新しく作成したノードにデータを追加します

ステップ 3

– 新しいノードのリンクを更新し、現在のヘッド ノードを指すようにします

ステップ 4

- 次に、ヘッド ポインタを新しく作成したノードに設定します

NOTE

- これらの手順の順序は非常に重要です。最初に新しく作成したノードをヘッド ノードとして設定すると、理想的には新しいノードのリンクを更新できなくなるからです。前のヘッド ノードへ。 ###例### リーリー ###出力### リーリー 最後に要素を追加します

最後に要素を追加することは、リストの先頭に追加することとは論理的に異なります。今回は、最初のノード (つまり、head) ではなく、リストの最後のノードにアクセスする必要があります。

ここで問題は、要素を追加するリストが空のリストであるか、またはすでにいくつかの要素が含まれているかを確認することです。

リストが空の場合、新しいノードはリストの最初のノードになり、それ以外の場合は最後のノードになります。そのためには、ヘッド ノードが None かどうかを確認する必要があります。リストは、head が None の場合は空として扱われ、それ以外の場合は空ではありません。 ###アルゴリズム###

ステップ 1

– 新しいノードを作成します。

ステップ 2

- ノードのデータ セクションにデータを追加します。

ステップ 3 – 新しく作成したノードの次のノードが None または Null ポインターを指していることを確認します。

ステップ 4 - リストが空の場合は、新しく作成したノードをヘッド ノードとして使用します。

ステップ 5 - それ以外の場合は、リストの最後、最後のノードまで移動します。

ステップ 6 – 最後のノードの次のノードを新しく作成したノードに設定します。 ###例### リーリー ###出力### リーリー ###結論###

この記事では、Python クラスを使用して

リンク リスト を実装する方法、および リンク リスト

に要素を追加する方法について説明しました。リストの先頭と末尾に要素を追加することに重点を置きました。

以上がPython プログラム: リンクされたリストの最初と最後の位置に要素を追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

再帰的メソッドを使用して、C++ で最後のリンク リストから n 番目のノードを検索します。 再帰的メソッドを使用して、C++ で最後のリンク リストから n 番目のノードを検索します。 Sep 15, 2023 pm 05:53 PM

単一リンクされたリストと入力として正の整数 N が与えられます。目標は、再帰を使用して、指定されたリストの末尾から N 番目のノードを見つけることです。入力リストにノード a→b→c→d→e→f があり、N が 4 の場合、最後から 4 番目のノードは c になります。まず、リスト内の最後のノードまでトラバースし、再帰的 (バックトラッキング) 増分カウントから戻るときにスキャンします。 count が N に等しい場合、現在のノードへのポインタが結果として返されます。このためのさまざまな入出力シナリオを見てみましょう - 入力 - リスト: -1→5→7→12→2→96→33N=3 出力 - 最後から N 番目のノードは: 2 説明 - 3 番目のノードは 2 です。入力 - リスト: -12→53→8→19→20→96→33N=8 出力 - ノードが存在しません

PHP 配列とリンク リストのアルゴリズム時間計算量の比較 PHP 配列とリンク リストのアルゴリズム時間計算量の比較 May 07, 2024 pm 01:54 PM

配列とリンク リストのアルゴリズムの時間計算量の比較: 配列 O(1) へのアクセス、リンク リスト O(n)、配列 O(1) の挿入、配列 O(1) の削除。 )、リンク リスト O(n) (n); 検索配列 O(n)、リンク リスト O(n)。

リンクリストで表される数値に 1 を加算します。 リンクリストで表される数値に 1 を加算します。 Aug 29, 2023 pm 09:17 PM

数値のリンク リスト表現は次のように提供されます。リンク リストのすべてのノードは、数値の 1 桁とみなされます。ノードは、リンク リストの最初の要素が数値の最上位桁を保持し、リンク リストの最後の要素が数値の最下位桁を保持するように数値を格納します。たとえば、数値 202345 は、リンク リストでは (2->0->2->3->4->5) として表されます。数値を表すこのリンク リストに 1 を追加するには、リスト内の最下位ビットの値をチェックする必要があります。 9 より小さい場合は問題ありませんが、それ以外の場合はコードによって次の番号などが変更されます。次に、これを行う方法を理解するための例を見てみましょう。1999 年は (1->9->9->9) として表され、1 を追加すると変更されます。

PHP SPL データ構造: プロジェクトにスピードと柔軟性をもたらします PHP SPL データ構造: プロジェクトにスピードと柔軟性をもたらします Feb 19, 2024 pm 11:00 PM

PHPSPL データ構造ライブラリの概要 PHPSPL (標準 PHP ライブラリ) データ構造ライブラリには、さまざまなデータ構造を保存および操作するためのクラスとインターフェイスのセットが含まれています。これらのデータ構造には、配列、リンク リスト、スタック、キュー、セットが含まれており、それぞれがデータを操作するためのメソッドとプロパティの特定のセットを提供します。配列 PHP では、配列は一連の要素を格納する順序付けされたコレクションです。 SPL 配列クラスは、ソート、フィルタリング、マッピングなどのネイティブ PHP 配列の拡張機能を提供します。 SPL 配列クラスの使用例を次に示します。 useSplArrayObject;$array=newArrayObject(["foo","bar","baz"]);$array

LinkedList に要素を追加する Java プログラム LinkedList に要素を追加する Java プログラム Aug 26, 2023 pm 10:21 PM

LinkedList は JavaCollectionFramework の一般クラスで、List、Deque、Queue の 3 つのインターフェイスを実装します。これは、各要素が相互にリンクされている線形データ構造である LinkedList データ構造の機能を提供します。 LinkedList に対して、要素の追加、削除、走査などのさまざまな操作を実行できます。 LinkedList コレクションに要素を追加するには、add()、addFirst()、addLast() などのさまざまな組み込みメソッドを使用できます。これらのメソッドを使用して要素を LinkedList に追加する方法を検討します。 Javaで

PHP データ構造: リンク リストの魅力、動的なデータ構成の探求 PHP データ構造: リンク リストの魅力、動的なデータ構成の探求 Jun 04, 2024 pm 12:53 PM

リンク リストは、データとポインターを含む一連のノードを使用して要素を編成するデータ構造であり、大規模なデータ セットや頻繁な挿入/削除操作の処理に特に適しています。その基本コンポーネントには、ノード (データと次のノードへのポインター) とヘッド ノード (リンク リストの最初のノードを指す) が含まれます。一般的なリンク リスト操作には、追加 (末尾の挿入)、削除 (特定の値)、および走査が含まれます。

Go言語でリンクリスト操作を実装するにはどうすればよいですか? Go言語でリンクリスト操作を実装するにはどうすればよいですか? Jun 10, 2023 pm 10:55 PM

LinkedList は一連のノードで構成される一般的なデータ構造であり、各ノードにはデータ フィールド (Data) とポインター フィールド (Next) という 2 つのキー属性が含まれています。このうち、データフィールドは実際のデータを格納するために使用され、ポインタフィールドは次のノードを指します。このように、リンク リストは、さまざまなアプリケーション シナリオに適した柔軟な方法でデータを保存します。 Go 言語では、リンク リスト構造も十分にサポートされています。 Cont は Go の組み込み標準ライブラリで提供されます

Python プログラム: リンクされたリストの最初と最後の位置に要素を追加します Python プログラム: リンクされたリストの最初と最後の位置に要素を追加します Aug 23, 2023 pm 11:17 PM

Python では、リンク リストは一連のノードで構成される線形データ構造であり、各ノードには値とリンク リスト内の次のノードへの参照が含まれます。この記事では、Python でリンク リストの最初と最後の位置に要素を追加する方法について説明します。 Python の LinkedList リンク リストは、要素のセットを格納するために使用される参照データ構造です。これはある意味配列に似ていますが、配列ではデータは連続したメモリ位置に格納されますが、リンク リストではデータはこの条件の影響を受けません。これは、データが順番にメモリに保存されるのではなく、ランダムにメモリに保存されることを意味します。これにより、どうやってできるのかという疑問が生じます

See all articles