काउंटिंग सॉर्ट विशिष्ट कुंजी मानों वाली वस्तुओं की संख्या गिनता है। आइए एक उदाहरण देखें:
नोट - नीचे दिया गया कोड नेगेटिव नंबरों के साथ भी उपयोग किया जा सकता है।
उदाहरण
import java.util.*;
public class Demo{
static void count_sort(int[] arr){
int max_val = Arrays.stream(arr).max().getAsInt();
int min_val = Arrays.stream(arr).min().getAsInt();
int range = max_val - min_val + 1;
int count[] = new int[range];
int result[] = new int[arr.length];
for (int i = 0; i < arr.length; i++){
count[arr[i] - min_val]++;
}
for (int i = 1; i < count.length; i++){
count[i] += count[i - 1];
}
for (int i = arr.length - 1; i >= 0; i--){
result[count[arr[i] - min_val] - 1] = arr[i];
count[arr[i] - min_val]--;
}
for (int i = 0; i < arr.length; i++){
arr[i] = result[i];
}
}
static void printVal(int[] arr){
for (int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
System.out.println("");
}
public static void main(String[] args){
int[] arr = {-5, 0, -3, 8, 34, 56, 89, -11, -95, -1, 10};
System.out.println("ऐरे शामिल करता है");
for (int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.println("जावा में काउंटिंग सॉर्ट लागू करने का परिणाम: ");
count_sort(arr);
printVal(arr);
}
}
आउटपुट
ऐरे शामिल करता है -5 0 -3 8 34 56 89 -11 -95 -1 10 जावा में काउंटिंग सॉर्ट लागू करने का परिणाम: -95 -11 -5 -3 -1 0 8 10 34 56 89
Demo नामक एक क्लास में count_sort फंक्शन होता है। यहां, ऐरे पर पुनरावृति की जाती है और काउंट मान बढ़ाया जाता है।
अगला, इस काउंट ऐरे पर पुनरावृति की जाती है और पिछला मान अगले मान को असाइन किया जाता है। ऐरे पर फिर से पुनरावृति की जाती है और ऐरे का एलिमेंट रिजल्ट ऐरे को असाइन किया जाता है और काउंट ऐरे घटाया जाता है। फिर, ऐरे पर फिर से पुनरावृति की जाती है और रिजल्ट ऐरे में एलिमेंट्स को ऐरे को असाइन किया जाता है। एक प्रिंट फंक्शन परिभाषित किया जाता है जो कंसोल पर डेटा प्रिंट करता है। मुख्य फंक्शन ऐरे के एलिमेंट्स को परिभाषित करता है और इन एलिमेंट्स पर काउंट सॉर्ट को कॉल करता है।