Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Codigo elaborado para a prova didatica do IFAM
- import java.io.*;
- import java.util.*;
- public class Radix {
- public static void countingSort(int vetor[], int digitos){
- int C[] = new int[vetor.length];
- int B[] = new int[10];
- Arrays.fill(B,0);
- for (int i = 0; i < vetor.length; i++){
- int indice_B = (vetor[i]/digitos) % 10;
- B[indice_B]++;
- }
- for (int i = 1; i < 10; i++)
- B[i] += B[i - 1];
- for (int i = vetor.length - 1; i >= 0; i--){
- int indice_B = (vetor[i]/digitos) % 10;
- int indice_C = B[indice_B] - 1;
- C[indice_C] = vetor[i];
- B[indice_B] -= 1;
- }
- for (int i = 0; i < vetor.length; i++)
- vetor[i] = C[i];
- }
- public static int getMaiorValor(int vetor[]){
- int maior = vetor[0];
- for (int i = 1; i < vetor.length; i++)
- if (vetor[i] > maior)
- maior = vetor[i];
- return maior;
- }
- public static void radixsort(int vetor[]) {
- int maiorNumero = getMaiorValor(vetor);
- for (int digitos = 1; maiorNumero/digitos > 0; digitos *= 10)
- countingSort(vetor,digitos);
- }
- public static void main (String[] args)
- {
- int vetor[] = {143,12,321,21,290,107};
- radixsort(vetor);
- for(int i = 0; i < vetor.length; i++)
- System.out.print(vetor[i]+" ");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement