Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- public class Dzh {
- public static void main(String[] args) {
- int n = 10;
- int k = 1000;
- int[] a = input_random_Array(n, k);
- long Time = System.nanoTime();
- a = counting_sort(a, k);
- long EndTime = System.nanoTime();
- Time = Math.abs(EndTime - Time);
- for (int i = 0; i < n; i++) {
- System.out.println(a[i]);
- }
- System.out.println(Time);
- }
- static int[] input_random_Array(int n, int k) {
- int[] a = new int[n]; // n-size of array, k-maximum random number
- Random rn = new Random();
- // fill array with random numbers
- for (int i = 0; i < n; i++) {
- a[i] = rn.nextInt(k); // [0;k)
- }
- return a;
- }
- static int[] counting_sort(int[] a, int k) {
- int[] c = new int[k];
- for (int j = 0; j < a.length; j++) {
- c[a[j]]++;
- }
- int ind = 0;
- for (int i = 0; i < c.length; i++) {
- for (int j = 0; j < c[i]; j++) {
- a[ind++] = i;
- }
- }
- return a;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement