এই আর্টিকেলে আমরা বুঝব কীভাবে একক ইটারেশনে LinkedList-এর মাঝপথের এলিমেন্ট বের করতে হয়। java.util.LinkedList ক্লাসের অপারেশনগুলো ডাবলি-লিঙ্কড লিস্টের মতো কাজ করে।
ধরুন ইনপুট:
Input linked list: 100 200 330
চাহিদা আউটপুট:
The middle element of the list is: 200
অ্যালগরিদম
Step 1 - START Step 2 - একটি LinkedList ডিক্লেয়ার করুন input_list নামে। পাঁচটি নোড অবজেক্ট ডিক্লেয়ার করুন: head, first_node, second_node, pointer_1, pointer_2। Step 3 - মান ডিফাইন Step 4 - while লুপ ব্যবহার করে লিঙ্কড লিস্ট ট্রাভার্স করুন, pointer_1 এবং pointer_2 ব্যবহার করে মাঝপথের এলিমেন্ট বের করুন যতক্ষণ না pointer_1.next null হয়। Step 5 - pointer_2-এর মান ফলাফল হিসেবে দেখান। Step 6 - STOP
উদাহরণ ১
এখানে সকল অপারেশন 'main' ফাংশনের অধীনে বাঁধা হয়েছে।
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
উদাহরণ ২
এখানে অপারেশনগুলো ফাংশনে এনক্যাপসুলেট করা হয়েছে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং প্রদর্শন করতে।
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