7
edições
(→Código em C++: Redução de código pelo uso de recursos de C++11.) Etiquetas: Edição via dispositivo móvel Edição feita através do sítio móvel |
(Acréscimo do código do Counting Sort na linguagem Java) |
||
<syntaxhighlight lang="java">
{{Sem-fontes|data=agosto de 2012| angola=| arte=| Brasil=| ciência=| geografia=| música=| Portugal=| sociedade=|1=|2=|3=|4=|5=|6=}}▼
public static void CountingSort(int[] a) {
// acha maior elemento
int maior = v[0];
for (int i = 1; i < v.length; i++) {
if (v[i] > maior) {
maior = v[i];
}
}
// frequencia
int[] c = new int[maior];
for (int i = 0; i < v.length; i++) {
c[v[i] -1] += 1;
}
// cumulativa
for (int i = 1; i < c.length; i++) {
c[i] += c[i-1];
}
Integer[] b = new Integer[v.length];
for (int i = 0; i < b.length; i++) {
b[c[v[i] -1] -1] = v[i];
c[v[i] -1]--;
}
// passando os elementos do array ordenado para o array recebido no parâmetro
for (int i = 0; i < b.length; i++) {
v[i] = b[i];
}
}
▲</syntaxhighlight>{{Sem-fontes|data=agosto de 2012| angola=| arte=| Brasil=| ciência=| geografia=| música=| Portugal=| sociedade=|1=|2=|3=|4=|5=|6=}}
{{Info/Algoritmo
|classe =[[Algoritmo de ordenação]]
|
edições