Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

चयन सॉर्ट पर थोड़ा सुधार करने वाला सॉर्टिंग एल्गोरिदम


यहां हम चयन सॉर्ट पर कुछ सुधार देखेंगे। जैसा कि हम जानते हैं कि चयन सॉर्ट सरणी से न्यूनतम या अधिकतम तत्व लेकर और उस तत्व को सही स्थान पर रखकर काम करता है। इस दृष्टिकोण में, हम सरणी को दोनों तरीकों से सॉर्ट करना चाहते हैं। यहां हम एक साथ अधिकतम और न्यूनतम लेंगे, फिर सरणी को दोनों छोर से सॉर्ट करेंगे। आइए एल्गोरिदम देखें ताकि बेहतर विचार मिल सके।

एल्गोरिदम

twoWaySelectionSort(arr, n)

begin   for i := 0, and j := n-1, increase i by 1, and decrease j by 1, until i>=j, do     min := minimum element from index i to j     max := maximum element from index i to j     i_min := index of min     i_max := index of max     exchange the arr[i] and arr[i_min]     if arr[i_min] is same as max, then         swap arr[j] and arr[i_min]     else         swap arr[j] and arr[i_max]     end if   done end

उदाहरण

#include using namespace std; void twoWaySelectionSort(int arr[], int n) {     //i will move from left, and j will move from right     for (int i = 0, j = n - 1; i < j; i++, j--) {         int min = arr[i], max = arr[i];         int i_min = i, i_max = i; //i_min and i_max will hold min and max index respectively         for (int k = i; k <= j; k++) {             if (arr[k] > max) {                 max = arr[k];                 i_max = k;             } else if (arr[k] < min) {                 min = arr[k];                 i_min = k;             }         }         swap(arr[i], arr[i_min]); //put the min into the index i         if (arr[i_min] == max)             swap(arr[j], arr[i_min]);         else             swap(arr[j], arr[i_max]);     } } main() {     int arr[] = { 25, 45, 14, 10, 23, 29, 65, 21, 78, 96, 30 };     int n = sizeof(arr) / sizeof(arr[0]);     twoWaySelectionSort(arr, n);     cout << "Sorted array: ";     for (int i = 0; i < n; i++)     cout << arr[i] << " "; }

आउटपुट

Sorted array: 10 14 21 23 25 29 30 45 65 78 96

  1. पायथन प्रोग्राम में सिलेक्शन सॉर्ट पायथन प्रोग्राम में सिलेक्शन सॉर्ट

    इस लेख में, हम पायथन 3.x में सिलेक्शन सॉर्ट और इसके कार्यान्वयन के बारे में सीखेंगे। या इससे पहले। सिलेक्शन सॉर्ट एल्गोरिदम में, एक ऐरे को अनसॉर्टेड पार्ट से न्यूनतम एलिमेंट को रिकर्सिवली ढूंढकर और इसे शुरुआत में इन्सर्ट करके सॉर्ट किया जाता है। दिए गए ऐरे पर सिलेक्शन सॉर्ट के निष्पादन के दौरान दो

  1. पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में सिलेक्शन सॉर्ट और इसके कार्यान्वयन के बारे में जानेंगे।सिलेक्शन सॉर्ट एल्गोरिदम में, एक सरणी को अनसॉर्टेड भाग से न्यूनतम तत्व को पुनरावर्ती रूप से ढूंढकर और इसे शुरुआत में डालकर सॉर्ट किया जाता है। दिए गए सरणी पर सिलेक्शन सॉर्ट के निष्पादन के दौरा

  1. रूबी में सिलेक्शन सॉर्ट में महारत: चरण-दर-चरण कार्यान्वयन रूबी में सिलेक्शन सॉर्ट में महारत: चरण-दर-चरण कार्यान्वयन

    नोट: यह रूबी के साथ विभिन्न सॉर्टिंग एल्गोरिदम को देखने वाली श्रृंखला का भाग 2 है। भाग 1 ने बबल सॉर्ट का पता लगाया। इस पोस्ट में, मैं रूबी के साथ सिलेक्शन सॉर्ट एल्गोरिदम को लागू करने के तरीके के बारे में बताऊंगा। सिलेक्शन सॉर्ट एक इन-प्लेस तुलना सॉर्टिंग एल्गोरिदम है। इसका मतलब है कि सॉर्ट किए गए