एक क्रमबद्ध सरणी एक सरणी है जिसमें प्रत्येक तत्व को किसी क्रम में क्रमबद्ध किया जाता है जैसे संख्यात्मक, वर्णानुक्रम आदि। संख्यात्मक सरणी को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे बबल सॉर्ट, इंसर्शन सॉर्ट, सेलेक्शन सॉर्ट, मर्ज सॉर्ट, क्विक सॉर्ट, ढेर सॉर्ट आदि। चयन सॉर्ट का उपयोग करके सरणी को सॉर्ट करने के बारे में अधिक जानकारी नीचे दी गई है।
चयन क्रम एक छँटाई विधि है जो एक क्रमबद्ध सरणी उत्पन्न करती है। यह बार-बार सरणी में सबसे छोटे तत्व को ढूंढता है और इसे अनसोल्ड भाग की शुरुआत में तत्व के साथ बदल देता है।
एक प्रोग्राम जो सिलेक्शन सॉर्ट का उपयोग करके सॉर्ट किए गए ऐरे को लागू करता है, वह इस प्रकार दिया गया है।
उदाहरण
#include<iostream> using namespace std; void selectionSort(int a[], int n) { int i, j, min, temp; for (i = 0; i < n - 1; i++) { min = i; for (j = i + 1; j < n; j++) if (a[j] < a[min]) min = j; temp = a[i]; a[i] = a[min]; a[min] = temp; } } int main() { int a[] = { 22, 91, 35, 78, 10, 8, 75, 99, 1, 67 }; int n = sizeof(a)/ sizeof(a[0]); int i; cout<<"Given array is:"<<endl; for (i = 0; i < n; i++) cout<< a[i] <<" "; cout<<endl; selectionSort(a, n); printf("\nSorted array is: \n"); for (i = 0; i < n; i++) cout<< a[i] <<" "; return 0; }
आउटपुट
Given array is: 22 91 35 78 10 8 75 99 1 67 Sorted array is: 1 8 10 22 35 67 75 78 91 99
उपरोक्त प्रोग्राम में, SelectionSort () एक ऐसा फंक्शन है जो सिलेक्शन सॉर्ट का उपयोग करके सरणी a[] को सॉर्ट करता है। सिलेक्शनसॉर्ट () में लूप के लिए दो हैं। लूप के लिए बाहरी के प्रत्येक पुनरावृत्ति में, i के बाद शेष सरणी में न्यूनतम तत्व पाया जाता है और फिर वर्तमान में i पर मौजूद तत्व के साथ इंटरचेंज किया जाता है। यह तब तक दोहराया जाता है जब तक कि सरणी क्रमबद्ध न हो जाए। यह नीचे दिखाया गया है।
void selectionSort(int a[], int n) { int i, j, min, temp; for (i = 0; i < n - 1; i++) { min = i; for (j = i + 1; j < n; j++) if (a[j] < a[min]) min = j; temp = a[i]; a[i] = a[min]; a[min] = temp; } }
मुख्य () फ़ंक्शन में, सरणी a [] परिभाषित की गई है। फिर फ़ंक्शन चयनसॉर्ट () को सरणी a [] और उसके आकार n के साथ कहा जाता है। अंत में, क्रमबद्ध सरणी प्रदर्शित की जाती है। यह नीचे दिखाया गया है।
int main() { int a[] = { 22, 91, 35, 78, 10, 8, 75, 99, 1, 67 }; int n = sizeof(a)/ sizeof(a[0]); int i; cout<<"Given array is:"<<endl; for (i = 0; i < n; i++) cout<< a[i] <<" "; cout<<endl; selectionSort(a, n); printf("\nSorted array is: \n"); for (i = 0; i < n; i++) cout<< a[i] <<" "; return 0; }