C#-এ LinkedList<T> ক্লাসের Remove(T value) মেথড ব্যবহার করে নির্দিষ্ট মানের প্রথম ঘটনা (first occurrence) মুছে ফেলা যায়। এটি মানটি খুঁজে বের করে এবং প্রথম ম্যাচ করা নোডটি রিমুভ করে। সফল হলে true, না পেলে false রিটার্ন করে।
উদাহরণ ১: ডুপ্লিকেট মান থেকে প্রথমটি মুছে ফেলা
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
LinkedList<string> list = new LinkedList<string>();
list.AddLast("A");
list.AddLast("B");
list.AddLast("C");
list.AddLast("A");
list.AddLast("E");
list.AddLast("F");
list.AddLast("A");
list.AddLast("H");
list.AddLast("A");
list.AddLast("J");
Console.WriteLine("নোডের সংখ্যা = " + list.Count);
Console.WriteLine("LinkedList উপাদান...");
foreach (string res in list) {
Console.WriteLine(res);
}
// "A" এর প্রথম ঘটনা মুছে ফেলা
list.Remove("A");
Console.WriteLine("আপডেটেড নোডের সংখ্যা = " + list.Count);
Console.WriteLine("আপডেটেড LinkedList উপাদান...");
foreach (string res in list) {
Console.WriteLine(res);
}
}
}
আউটপুট
নোডের সংখ্যা = 10 LinkedList উপাদান... A B C A E F A H A j আপডেটেড নোডের সংখ্যা = 9 আপডেটেড LinkedList উপাদান... B C A E F A H A j
উদাহরণ ২: "Three" এর প্রথম ঘটনা মুছে ফেলা
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
LinkedList<string> list = new LinkedList<string>();
list.AddLast("One");
list.AddLast("Two");
list.AddLast("Three");
list.AddLast("Three");
list.AddLast("Three");
list.AddLast("Four");
Console.WriteLine("নোডের সংখ্যা = " + list.Count);
Console.WriteLine("LinkedList উপাদান...");
foreach (string res in list) {
Console.WriteLine(res);
}
list.Remove("Three");
Console.WriteLine("আপডেটেড নোডের সংখ্যা = " + list.Count);
Console.WriteLine("আপডেটেড LinkedList উপাদান...");
foreach (string res in list) {
Console.WriteLine(res);
}
}
}
আউটপুট
নোডের সংখ্যা = 6 LinkedList উপাদান... One Two Three Three Three Four আপডেটেড নোডের সংখ্যা = 5 আপডেটেড LinkedList উপাদান... One Two Three Three Four
ব্যাখ্যা: Remove(T) মেথড লিস্ট ট্রাভার্স করে প্রথম ম্যাচ করা নোডটি মুছে ফেলে। এটি O(n) সময় নেয় কারণ লিস্ট সিকোয়েনশিয়ালি সার্চ করতে হয়। যদি একাধিকবার একই মান মুছে ফেলতে হয় তবে লুপ বা RemoveAll (কাস্টম ইমপ্লিমেন্টেশন) ব্যবহার করতে হবে। LinkedList মধ্যবর্তী ইনসারশন/ডিলিশনের জন্য O(1) দেয় যদি নোড রেফারেন্স থাকে।