Selection Sort एक सॉर्टिंग एल्गोरिदम है जो लूप के प्रत्येक पुनरावृत्ति के लिए सरणी में न्यूनतम मान ढूंढता है। फिर यह न्यूनतम मान वर्तमान सरणी तत्व के साथ बदल दिया जाता है। इस प्रक्रिया का पालन तब तक किया जाता है जब तक कि सरणी क्रमबद्ध न हो जाए।
एक प्रोग्राम जो C# में चयन प्रकार प्रदर्शित करता है, वह इस प्रकार दिया गया है।
उदाहरण
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
अब, उपरोक्त कार्यक्रम को समझते हैं।
सबसे पहले ऐरे को इनिशियलाइज़ किया जाता है और इसका मान लूप के लिए उपयोग करके प्रिंट किया जाता है। इसे निम्नलिखित कोड स्निपेट में देखा जा सकता है।
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] + " "); }
लूप के लिए एक नेस्टेड वास्तविक छँटाई प्रक्रिया के लिए उपयोग किया जाता है। लूप के लिए बाहरी के प्रत्येक पास में, सरणी में सबसे छोटा तत्व पाया जाता है और वर्तमान तत्व द्वारा प्रतिस्थापित किया जाता है। यह प्रक्रिया तब तक जारी रहती है जब तक कि सरणी सॉर्ट नहीं हो जाती। इसे निम्नलिखित कोड स्निपेट में देखा जा सकता है।
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.Write("Sorted array is: "); for (int i = 0; i < n; i++) { Console.Write(arr[i] + " "); }