সিলেকশন সোর্ট-এ লিস্টকে দুটি অংশে ভাগ করা হয়: সর্টেড এবং আনসর্টেড। প্রতিটি পাসে আনসর্টেড অংশ থেকে মিনিমাম (অথবা ম্যাক্সিমাম) এলিমেন্ট বের করে সর্টেড অংশের শেষে রাখা হয়।
সিলেকশন সোর্টের জটিলতা
- টাইম কমপ্লেক্সিটি: O(n²)
- স্পেস কমপ্লেক্সিটি: O(1)
ইনপুট এবং আউটপুট
Input: The unsorted list: 5 9 7 23 78 20
Output: Array before Sorting: 5 9 7 23 78 20
Array after Sorting: 5 7 9 20 23 78
অ্যালগরিদম
selectionSort(array, size)
Begin
for i := 0 to size-2 do
iMin := i
for j := i+1 to size-1 do
if array[j] < array[iMin] then iMin := j
done
swap array[i] with array[iMin]
done
End
C++ উদাহরণ
#include <iostream>
using namespace std;
void swapping(int &a, int &b) { int t=a; a=b; b=t; }
void display(int *a, int n) { for(int i=0;i> n;
int arr[n];
cout << "Enter elements:" << endl;
for(int i=0; i> arr[i];
cout << "Array before Sorting: "; display(arr, n);
selectionSort(arr, n);
cout << "Array after Sorting: "; display(arr, n);
}
আউটপুট
Enter the number of elements: 6
Enter elements: 5 9 7 23 78 20
Array before Sorting: 5 9 7 23 78 20
Array after Sorting: 5 7 9 20 23 78