Advertisement
Manioc

counting

May 14th, 2018
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. import java.util.*;
  2. public class solution {
  3.  
  4.     private static Scanner sc;
  5.    
  6.     public static void counting(int[] array) {
  7.         int maior = array[0], menor = array[0];
  8.         for(int i: array) {
  9.             if(i > maior) maior = i;
  10.             if(i < menor) menor = i;
  11.         }
  12.        
  13.         int[] frequencia = new int[maior-menor+1];
  14.         int [] ordenado = new int[array.length];
  15.         for(int i: array) {
  16.             frequencia[i - menor]++;
  17.             System.out.println(Arrays.toString(frequencia));
  18.         }
  19.        
  20.        
  21.         for(int i = 1; i < frequencia.length; i++) frequencia[i] += frequencia[i-1];
  22.         System.out.println("Cumulativa do vetor de contagem - " + Arrays.toString(frequencia));
  23.        
  24.         for(int i: array) {
  25.             ordenado[frequencia[i-menor]-1] = i;
  26.             frequencia[i-menor]--;
  27.         }
  28.         System.out.println(Arrays.toString(frequencia));
  29.         System.out.println(Arrays.toString(ordenado));
  30.        
  31.     }
  32.    
  33.     public static void main(String[] args) {
  34.         sc = new Scanner(System.in);
  35.         String linha = sc.nextLine();
  36.         String[] array = linha.split(" ");
  37.         int[] lista = new int[array.length];
  38.         for(int i = 0; i < array.length; i++) lista[i] = Integer.parseInt(array[i]);
  39.        
  40.         counting(lista);
  41.         //System.out.println(Arrays.toString(lista));
  42.        
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement