このJavaプログラムは、単独でリンクされたリストからすべての均一なノードを効率的に削除します。明確にするために説明とプレゼンテーションを改良しましょう。
この記事では、Javaの単独でリンクされたリストから均等なすべてのノードを削除する方法を示しています。リストの作成、ノードの追加、均一なノードの削除、最終リストの表示について説明します。
単独でリンクされたリストは、各ノードがシーケンス内の次のノードを指す線形データ構造です。 各ノードには、データ(この場合は整数)と次のノードへのポインターが含まれています。
単独でリンクされたリストからすべての均一なノードを削除します。 入力例:
出力の例:
<code>Original List: 1 2 3 4 5 6</code>
アルゴリズム:
<code>Original List: 1 2 3 4 5 6 List after deleting even nodes: 1 3 5</code>
初期化:
- 空の単独でリンクされたリストを作成します
- ノード挿入:整数値を持つノード(例:1、2、3、4、5、6)をリストに追加します。
- ノード削除の均一:
- リーディングエブンを削除します:リストのヘッドから反復し、奇妙な値ノードが発生するまで最初に均等なノードを削除します。
- 内部evensを削除します:
- 残りのリストをトラバースします。ノードのノードに均一な値がある場合は、均一な値ノードの後に現在のノードをノードに直接リンクすることでバイパスします。
-
出力:リスト内の残りのノードを印刷します。
next
javaコード:
この改良されたバージョンには、より簡潔な説明、より明確なコードコメントが含まれ、すべてのノードが均一なエッジケースを処理します(空のリストになります)。 内部ノードを処理する前にチェックを追加する(
public class LinkedList { static class Node { int data; Node next; Node(int data) { this.data = data; this.next = null; } } Node head; public void insert(int data) { Node newNode = new Node(data); if (head == null) { head = newNode; } else { Node temp = head; while (temp.next != null) { temp = temp.next; } temp.next = newNode; } } public void deleteEvenNodes() { //Remove leading even nodes while (head != null && head.data % 2 == 0) { head = head.next; } //Remove internal even nodes if (head != null) { //Check if list is not empty after removing leading evens Node current = head; while (current != null && current.next != null) { if (current.next.data % 2 == 0) { current.next = current.next.next; } else { current = current.next; } } } } public void printList() { Node temp = head; while (temp != null) { System.out.print(temp.data + " "); temp = temp.next; } System.out.println(); } public static void main(String[] args) { LinkedList list = new LinkedList(); list.insert(1); list.insert(2); list.insert(3); list.insert(4); list.insert(5); list.insert(6); System.out.println("Original List:"); list.printList(); list.deleteEvenNodes(); System.out.println("List after deleting even nodes:"); list.printList(); } })は、すべての主要なノードが偶数である場合、
を防ぎます。
以上が単独でリンクされたリストからすべてのノードを削除するJavaプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

クラスローダーは、統一されたクラスファイル形式、動的読み込み、親代表団モデル、プラットフォーム非依存バイトコードを通じて、さまざまなプラットフォーム上のJavaプログラムの一貫性と互換性を保証し、プラットフォームの独立性を実現します。

Javaコンパイラによって生成されたコードはプラットフォームに依存しませんが、最終的に実行されるコードはプラットフォーム固有です。 1。Javaソースコードは、プラットフォームに依存しないバイトコードにコンパイルされます。 2。JVMは、特定のプラットフォームのバイトコードをマシンコードに変換し、クロスプラットフォーム操作を保証しますが、パフォーマンスは異なる場合があります。

マルチスレッドは、プログラムの応答性とリソースの利用を改善し、複雑な同時タスクを処理できるため、最新のプログラミングで重要です。 JVMは、スレッドマッピング、スケジューリングメカニズム、同期ロックメカニズムを介して、異なるオペレーティングシステム上のマルチスレッドの一貫性と効率を保証します。

Javaのプラットフォームの独立性とは、書かれたコードがJVMが変更なしでインストールされた任意のプラットフォームで実行できることを意味します。 1)JavaソースコードはBytecodeにコンパイルされ、2)BytecodeはJVMによって解釈および実行されます、3)JVMは、プログラムが異なるオペレーティングシステムで実行されることを確認するために、メモリ管理とガベージコレクション機能を提供します。

JavaApplicationScanIndEDENCOUNTIONPLATFORM-SPECISTESUESUSESEJVM'SABSTRACTION.REASONSINCLUDE:1)NativeCodeandLibraries、2)OperatingSystemDifferences、3)JVMimplementationVariations、および4)HardweardePencies.TomiteTETETETESES、DEVELAPERSHOULD:1)

クラウドコンピューティングにより、Javaのプラットフォームの独立性が大幅に向上します。 1)JavaコードはBytecodeにコンパイルされ、異なるオペレーティングシステムでJVMによって実行され、クロスプラットフォーム操作が確保されます。 2)DockerとKubernetesを使用してJavaアプリケーションを展開して、携帯性とスケーラビリティを向上させます。

java'splatformendenceallowsdevelopersowritecodeodeonceanceandonitondeviceoros withajvm.

Dockerなどのコンテナ化技術は、Javaのプラットフォームの独立性を置き換えるのではなく、強化します。 1)環境全体の一貫性を確保し、2)特定のJVMバージョンを含む依存関係を管理する、3)展開プロセスを簡素化して、Javaアプリケーションをより順応性と管理しやすくする。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
