इस लेख में, हम समझेंगे कि लिंक्डलिस्ट के मध्य तत्व को एकल पुनरावृत्ति में कैसे प्राप्त किया जाए। java.util.LinkedList वर्ग के संचालन प्रदर्शन हम एक दोहरी-लिंक्ड सूची के लिए उम्मीद कर सकते हैं। सूची में अनुक्रमित करने वाले संचालन सूची की शुरुआत या अंत से, जो भी निर्दिष्ट सूचकांक के करीब हो, सूची को पार करेंगे।
नीचे उसी का एक प्रदर्शन है -
मान लें कि हमारा इनपुट है -
Input linked list: 100 200 330
वांछित आउटपुट होगा -
The middle element of the list is: 200
एल्गोरिदम
Step 1 - START Step 2 - Declare a LinkedList namely input_list. Declare five node objects namely head, first_node, second_node, pointer_1, pointer_2. Step 3 - Define the values. Step 4 - Using a while loop, iterate over the linked list, get the middle element by traversing the list using pointer_1 and pointer_2 until pointer_1.next is not null. Step 5 - Display the pointer_2 value as result. Step 6 - Stop
उदाहरण 1
यहां, हम 'मेन' फंक्शन के तहत सभी ऑपरेशंस को एक साथ बांधते हैं।
public class LinkedList { Node head; static class Node { int value; Node next; Node(int d) { value = d; next = null; } } public static void main(String[] args) { LinkedList input_list = new LinkedList(); input_list.head = new Node(100); Node second_node = new Node(200); Node third_node = new Node(330); input_list.head.next = second_node; second_node.next = third_node; Node current_node = input_list.head; System.out.print("The linked list is defined as: " ); while (current_node != null) { System.out.print(current_node.value + " "); current_node = current_node.next; } Node pointer_1 = input_list.head; Node pointer_2 = input_list.head; while (pointer_1.next != null) { pointer_1 = pointer_1.next; if(pointer_1.next !=null) { pointer_1 = pointer_1.next; pointer_2 = pointer_2.next; } } System.out.println("\nThe middle element of the list is: " + pointer_2.value); } }
आउटपुट
The linked list is defined as: 100 200 330 The middle element of the list is: 200
उदाहरण 2
यहां, हम ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग को प्रदर्शित करने वाले कार्यों में संचालन को समाहित करते हैं।
public class LinkedList { Node head; static class Node { int value; Node next; Node(int d) { value = d; next = null; } } static void get_middle_item(LinkedList input_list){ Node pointer_1 = input_list.head; Node pointer_2 = input_list.head; while (pointer_1.next != null) { pointer_1 = pointer_1.next; if(pointer_1.next !=null) { pointer_1 = pointer_1.next; pointer_2 = pointer_2.next; } } System.out.println("\nThe middle element of the list is: " + pointer_2.value); } public static void main(String[] args) { LinkedList input_list = new LinkedList(); input_list.head = new Node(100); Node second_node = new Node(200); Node third_node = new Node(330); input_list.head.next = second_node; second_node.next = third_node; Node current_node = input_list.head; System.out.print("The linked list is defined as: " ); while (current_node != null) { System.out.print(current_node.value + " "); current_node = current_node.next; } get_middle_item(input_list); } }
आउटपुट
The linked list is defined as: 100 200 330 The middle element of the list is: 200