List<T>.RemoveAt(0) মেথড ব্যবহার করে লিস্টের প্রথম এলিমেন্ট সরানো যায় (পপ অপারেশন)। এটি O(n) সময় নেয় কারণ বাকি এলিমেন্টগুলো শিফট করতে হয়।
সিনট্যাক্স
List<string> list = new List<string> { "A", "B", "C" };
list.RemoveAt(0); // "A" সরিয়ে দেয়, লিস্ট হয়ে যায় { "B", "C" }
সম্পূর্ণ উদাহরণ
using System;
using System.Collections.Generic;
class ListPopFirstDemo
{
static void Main()
{
List<string> subjects = new List<string>
{
"Operating System",
"Computer Networks",
"Compiler Design"
};
Console.WriteLine("প্রাথমিক লিস্ট:");
foreach (var s in subjects) Console.WriteLine($" {s}");
// প্রথম এলিমেন্ট পপ
string popped = subjects[0];
subjects.RemoveAt(0);
Console.WriteLine($"\nপপ করা এলিমেন্ট: {popped}");
Console.WriteLine("লিস্ট এখন:");
foreach (var s in subjects) Console.WriteLine($" {s}");
// Pop মেথড সিমুলেশন (রিটার্ন করে)
string PopFirst(List<string> lst)
{
if (lst.Count == 0) throw new InvalidOperationException("List is empty");
string first = lst[0];
lst.RemoveAt(0);
return first;
}
Console.WriteLine($"\nPopFirst(): {PopFirst(subjects)}");
Console.WriteLine("শেষ লিস্ট: " + string.Join(", ", subjects));
}
}
আউটপুট
প্রাথমিক লিস্ট:
Operating System
Computer Networks
Compiler Design
পপ করা এলিমেন্ট: Operating System
লিস্ট এখন:
Computer Networks
Compiler Design
PopFirst(): Computer Networks
শেষ লিস্ট: Compiler Design
পারফরম্যান্স নোট
| অপারেশন | List<T> | Queue<T> | LinkedList<T> |
|---|---|---|---|
| RemoveAt(0) / Pop Front | O(n) | O(1) | O(1) |
| Add Last | O(1)* | O(1) | O(1) |
* Amortized O(1)
সুপারিশ
- ফ্রিকোয়েন্ট ফ্রন্ট-রিমুভালের জন্য
Queue<T>(FIFO) বাLinkedList<T>ব্যবহার করুন। - কিউ:
Enqueue(পিছনে যোগ),Dequeue(সামনে থেকে সরিয়ে রিটার্ন)।