Selection सोर्ट सर्चिंग और सोर्टिंग का मेल है
हर पास में , बिना जमा हुआ नंबर जो सबसे छोटा या सबसे बड़ा हो , वो अपनी सही जगह पर जमा दिया जाता है ।selection सोर्ट को हमे अर्रे के कुल नम्बरों की संख्या से एक कम बार चलाना पड़ता है । इस सोर्ट में दो लूप होते है । अंदर वाला लूप तो अगली छोटी या बड़ी संख्या का पता लगता है और बाहर वाला लूप उसको उसकी सही जगह पर रख देता है ।
उदहारण के लिए निचे दिया हुआ अर्रे देखिये :
64 25 12 22 11 <- हमारे पास शुरू में यह अर्रे है
11 25 12 22 64 <-पहले पास में हमने 64 को अर्रे के हर एलिमेंट से compare किया और उसको उसकी सही जगह पर जमा दिया जो आखिर वाली या
11 12 25 22 64 <- दुसरे पास में हमने पहले एलिमेंट को दुसरे से compare किया और पाया की यह ठीक जमे हुए है , उसके बाद हमने दुसरे एलिमेंट को ऊपर वाले अर्रे में (25) को 12 से compare किया और फिर उनको ठीक से जमा दिया
11 12 22 25 64 <- अब हमे 22 को 25 से compare किया और उनकी position को ठीक क्या
11 12 22 25 64 <- अंत में हमारे पास sorted अर्रे है , जो हमारा पहला लक्ष्य था ।
// SelectionSort.java - integer अर्रे को सोर्ट करने का तरीका class SelectionSort { public static void main(String[] args) { int[] a = {11,12,22,25,64}; sort(a); for (int i = 0; i < a.length; i++){ System.out.println(a[i]); } } // sort function जो अर्रे को क्रम अनुसार जमाएगा static void sort(int[] data) { int next, indexOfNext; for (next = 0; next < data.length - 1; next++) { indexOfNext = min(data,next,data.length - 1); swap(data, indexOfNext, next); } } // दी गए सभी इंडेक्स में से // सबसे छोटे एलेमेन्ट की इंडेक्स का पता लगाना static int min(int[] data, int start, int end) { int indexOfMin = start; // initial guess for (int i = start+1; i <= end; i++) if (data[i] < data[indexOfMin]) indexOfMin = i; // found a smaller value return indexOfMin; } // अर्रे की entries की अदला बदली करना static void swap(int[] data, int first, int second){ int temp; temp = data[first]; data[first] = data[second]; data[second] = temp; } }
No comments:
Post a Comment