সিলেকশন সোর্ট (Selection Sort) হল একটি সোর্টিং অ্যালগরিদম যা লুপের প্রতিটি পুনরাবৃত্তিতে অ্যারেতে ন্যূনতম মান খুঁজে বের করে। তারপর এই ন্যূনতম মানটি বর্তমান অ্যারে এলিমেন্টের সাথে বিনিময় করা হয়। এই প্রক্রিয়া অ্যারেটি সাজানো পর্যন্ত অনুসরণ করা হয়।
উদাহরণ
using System;
public class Example {
static void Main(string[] args) {
int[] arr = new int[10] { 56, 1, 99, 67, 89, 23, 44, 12, 78, 34 };
int n = 10;
Console.WriteLine("Selection sort");
Console.Write("Initial array is: ");
for (int i = 0; i < n; i++) {
Console.Write(arr[i] + " ");
}
int temp, smallest;
for (int i = 0; i < n - 1; i++) {
smallest = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[smallest]) {
smallest = j;
}
}
temp = arr[smallest];
arr[smallest] = arr[i];
arr[i] = temp;
}
Console.WriteLine();
Console.Write("Sorted array is: ");
for (int i = 0; i < n; i++) {
Console.Write(arr[i] + " ");
}
}
}
আউটপুট
Selection sort Initial array is: 56 1 99 67 89 23 44 12 78 34 Sorted array is: 1 12 23 34 44 56 67 78 89 99
প্রোগ্রাম ব্যাখ্যা
প্রথমে অ্যারেটি ইনিশিয়ালাইজ করা হয় এবং এর মান একটি for লুপ ব্যবহার করে প্রিন্ট করা হয়।
একটি নেস্টেড for লুপ প্রকৃত সোর্টিং প্রক্রিয়ার জন্য ব্যবহৃত হয়। বাহিরের for লুপের প্রতিটি পাসে, অ্যারেতে সবচেয়ে ছোট এলিমেন্টটি খুঁজে বের করা হয় এবং বর্তমান এলিমেন্ট দ্বারা প্রতিস্থাপিত করা হয়। এই প্রক্রিয়া অ্যারেটি সাজানো পর্যন্ত চলতে থাকে।
শেষে সাজানো অ্যারেটি প্রদর্শন করা হয়।