C#-এ SortedList ক্লাসের IndexOfValue(object value) মেথড ব্যবহার করে নির্দিষ্ট ভ্যালু-এর প্রথম ঘটনার ইনডেক্স পাওয়া যায়। যেহেতু সর্টেড লিস্ট কী অনুযায়ী সর্টেড, ভ্যালু সার্চের জন্য লিনিয়ার সার্চ করা হয় (O(n))। একই ভ্যালু একাধিকবার থাকলে প্রথমটির ইনডেক্স রিটার্ন করে।
উদাহরণ ১: সংখ্যা এবং স্ট্রিং ভ্যালুর ইনডেক্স
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args) {
SortedList list1 = new SortedList();
list1.Add("One", 1);
list1.Add("Two ", 2);
list1.Add("Three ", 3);
list1.Add("Four", 4);
list1.Add("Five", 5);
list1.Add("Six", 6);
list1.Add("Seven ", 7);
list1.Add("Eight ", 8);
list1.Add("Nine", 9);
list1.Add("Ten", 10);
Console.WriteLine("SortedList1 উপাদান...");
foreach (DictionaryEntry d in list1) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.Write("ভ্যালু ৭-এর ইনডেক্স = " + list1.IndexOfValue(7));
SortedList list2 = new SortedList();
list2.Add("A", "Accessories");
list2.Add("B", "Books");
list2.Add("C", "Smart Wearable Tech");
list2.Add("D", "Home Appliances");
Console.WriteLine("\n\nSortedList2 উপাদান...");
foreach (DictionaryEntry d in list2) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.Write("ভ্যালু 'Books'-এর ইনডেক্স = " + list2.IndexOfValue("Books"));
}
}
আউটপুট
SortedList1 উপাদান... Eight 8 Five 5 Four 4 Nine 9 One 1 Seven 7 Six 6 Ten 10 Three 3 Two 2 ভ্যালু ৭-এর ইনডেক্স = 5 SortedList2 উপাদান... A Accessories B Books C Smart Wearable Tech D Home Appliances ভ্যালু 'Books'-এর ইনডেক্স = 1
উদাহরণ ২: একাধিক ভ্যালুর ইনডেক্স খোঁজা
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args) {
SortedList list = new SortedList();
list.Add("One", "Finance");
list.Add("Two", "Marketing");
list.Add("Three", "Sales");
list.Add("Four", "Purchase");
list.Add("Five", "Operations");
list.Add("Six", "IT");
Console.WriteLine("SortedList উপাদান...");
foreach (DictionaryEntry d in list) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\n'Marketing' ভ্যালু-এর ইনডেক্স = " + list.IndexOfValue("Marketing"));
Console.WriteLine("'Purchase' ভ্যালু-এর ইনডেক্স = " + list.IndexOfValue("Purchase"));
Console.WriteLine("'Sales' ভ্যালু-এর ইনডেক্স = " + list.IndexOfValue("Sales"));
Console.WriteLine("'IT' ভ্যালু-এর ইনডেক্স = " + list.IndexOfValue("IT"));
Console.WriteLine("'Operations' ভ্যালু-এর ইনডেক্স = " + list.IndexOfValue("Operations"));
}
}
আউটপুট
SortedList উপাদান... Five Operations Four Purchase One Finance Six IT Three Sales Two Marketing 'Marketing' ভ্যালু-এর ইনডেক্স = 5 'Purchase' ভ্যালু-এর ইনডেক্স = 1 'Sales' ভ্যালু-এর ইনডেক্স = 4 'IT' ভ্যালু-এর ইনডেক্স = 3 'Operations' ভ্যালু-এর ইনডেক্স = 0
ব্যাখ্যা: IndexOfValue(value) মেথড লিনিয়ার সার্চ করে O(n) সময় নেয় কারণ ভ্যালু সর্টেড নয়। এটি শুধুমাত্র প্রথম ম্যাচের ইনডেক্স রিটার্ন করে। যদি ভ্যালু না পাওয়া যায় তবে -1 রিটার্ন করে। কী-বেসড সার্চ (IndexOfKey) এর চেয়ে ধীর। পারফরম্যান্স Криটিক্যাল সিনেরিওতে ভ্যালু-বেসড লুকআপ এড়িয়ে কী-বেসড অ্যাক্সেস ব্যবহার করা উচিত।