検索
ホームページバックエンド開発Python チュートリアルPython プログラム: リンクされたリストの最初と最後の位置に要素を追加します

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 サイトの他の関連記事を参照してください。

声明
この記事はtutorialspointで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Pythonアレイで実行できる一般的な操作は何ですか?Pythonアレイで実行できる一般的な操作は何ですか?Apr 26, 2025 am 12:22 AM

PythonArraysSupportVariousoperations:1)SlicingExtractsSubsets、2)Appending/ExtendingAdddesements、3)inSertingSelementSatspecificpositions、4)remvingingDeletesements、5)sorting/verversingsorder、and6)listenionsionsionsionsionscreatenewlistsebasedexistin

一般的に使用されているnumpy配列はどのようなアプリケーションにありますか?一般的に使用されているnumpy配列はどのようなアプリケーションにありますか?Apr 26, 2025 am 12:13 AM

numpyarraysAressertialentionsionceivationsefirication-efficientnumericalcomputations andDatamanipulation.theyarecrucialindatascience、mashineelearning、物理学、エンジニアリング、および促進可能性への適用性、scaledatiencyを効率的に、forexample、infinancialanalyyy

Pythonのリスト上の配列を使用するのはいつですか?Pythonのリスト上の配列を使用するのはいつですか?Apr 26, 2025 am 12:12 AM

UseanArray.ArrayOverAlistinPythonは、Performance-criticalCode.1)homogeneousdata:araysavememorywithpedelements.2)Performance-criticalcode:Araysofterbetterbetterfornumerumerumericaleperations.3)interf

すべてのリスト操作は配列でサポートされていますか?なぜまたはなぜですか?すべてのリスト操作は配列でサポートされていますか?なぜまたはなぜですか?Apr 26, 2025 am 12:05 AM

いいえ、notallistoperationSaresuptedbyarrays、andviceversa.1)arraysdonotsupportdynamicoperationslikeappendorintorintorinsertizizing、whosimpactsporformance.2)リスト

Pythonリストの要素にどのようにアクセスしますか?Pythonリストの要素にどのようにアクセスしますか?Apr 26, 2025 am 12:03 AM

toaccesselementsinapythonlist、useindexing、negativeindexing、slicing、oriteration.1)indexingstartsat0.2)negativeindexingAcsesess.3)slicingextractStions.4)reterationSuseSuseSuseSuseSeSeS forLoopseCheckLentlentlentlentlentlentlenttodExeror。

Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Apr 25, 2025 am 12:28 AM

Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

同じシステムで異なるPythonバージョンをどのように処理しますか?同じシステムで異なるPythonバージョンをどのように処理しますか?Apr 25, 2025 am 12:24 AM

Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?Apr 25, 2025 am 12:21 AM

numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、