Solución al problema 11462 – Age Sort de UVA (Código en java) | Java solution

Implementacion en Java de la solución del problema 11462 – Age Sort.

Nota: Esta solución fue implementada con un método de ordenamiento llamado Counting Sort (Ver implementacion en java), Aunque también se puede solucionar con el método de API sort.


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
public static int[] sort(int[] A) {
int n = A.length-1;
int k = A[0];
for (int i = 1; i <= n; i++) {
if (A[i] > k) {
k = A[i];
}
}
int[] C = new int[k + 1];

for (int i = 0; i <= k; i++) {
C[i] = 0;
}
for (int i = 0; i <= n; i++) {
C[A[i]] = C[A[i]] + 1;
}
for (int i = 1; i <= k; i++) {
C[i] = C[i] + C[i – 1];
}
int[] B = new int[n+1];
for (int i = n ; i >= 0; i–) {
C[A[i]] = C[A[i]] – 1;
B[C[A[i]]] = A[i];
}
return B;
 }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
        int n = Integer.parseInt(br.readLine());
        while (n!=0){
        int temp[] = new int [n];
        String tempStrig []= br.readLine().split(” “);
        for (int i = 0; i < tempStrig.length; i++) {
temp[i]=Integer.parseInt(tempStrig[i]);
}
        int temp2 []= sort(temp);        
        for (int i = 0; i < temp2.length-1; i++) {
out.write(temp2[i]+” “);
}
        out.write(temp2[temp2.length-1]+”n”);
        n=Integer.parseInt(br.readLine());                
        }
        out.flush();
    }
}

Solución al problema 11462 – Age Sort de UVA (Código en java) | Java solution
Califica este post

ARTÍCULOS RELACIONADOS

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *