Rumah >Java >javaTutorial >Program Java untuk memadam semua nod dari senarai yang berkaitan
Program Java ini dengan cekap menghilangkan semua nod bernilai walaupun dari senarai yang berkaitan. Mari kita memperbaiki penjelasan dan persembahan untuk kejelasan.
Artikel ini menunjukkan cara menghapuskan semua nod yang bernombor dari senarai yang berkaitan dengan Jawa. Kami akan meliputi membuat senarai, menambah nod, memadam nod bernilai walaupun, dan memaparkan senarai akhir.
Senarai yang dikaitkan secara tunggal adalah struktur data linear di mana setiap nod menunjuk ke nod seterusnya dalam urutan. Setiap nod mengandungi data (dalam kes ini, integer) dan penunjuk ke nod seterusnya.
Masalah: Padam semua nod yang bernilai walaupun dari senarai yang berkaitan dengan tunggal.
Contoh input:
<code>Original List: 1 2 3 4 5 6</code>
Output Contoh:
<code>Original List: 1 2 3 4 5 6 List after deleting even nodes: 1 3 5</code>
Algoritma:
next
Java Code:
<code class="language-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(); } }</code>
output:
<code>Original List: 1 2 3 4 5 6 List after deleting even nodes: 1 3 5 </code>versi yang lebih baik ini termasuk penjelasan yang lebih ringkas, komen kod yang lebih jelas, dan mengendalikan kes kelebihan di mana semua nod bahkan (menghasilkan senarai kosong). Penambahan cek (
) sebelum memproses nod dalaman menghalang if (head != null)
jika semua nod utama adalah. NullPointerException
Atas ialah kandungan terperinci Program Java untuk memadam semua nod dari senarai yang berkaitan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!