Gostaria de um algoritmo semelhante ao de ordenação só que ao invés de organizar ele procurasse por itens repetidos e alterasse para um não existente nesta tabela.
Estou querndo fazer isso com horas e datas, criei um tipo hora e um tipo data, tenho uma tabela com todas as horas e datas e os métodos para trata-los, mas gostaria do algoritmo.
Exmplo:
tenho o array que suporta números de 1 a 40;
[10; 12; 34; 15; 12; 35; 2; 21; 14; 12; 15; 1;]
observe que neste array o numero 15 está repetido e o número 12 está repetido 2 vezes, então preciso de um algoritmo para identifica-los e altera-los para os proximos valores válidos. neste caso, um dos números 15 passaria a ser 3(jah que o número 1 e 2 já existem) um dos números 12 passaria a ser 4 e o outro passaria a ser 5 (jah que o 4 acabou de ser ocupado) dessa forma este array ao ser processado pelo algoritmo passaria a ser
[10; 12; 34; 3; 4; 35; 2; 21; 14; 5; 15; 1;]
observer que a ordenação é descessária.
O maior problema que vejo aqui, é que tenho um arrayList contendo a hora e a data, eu tenho que ordenar as datas e horas de forma que os registros não se choquem…
considere o seguinte arrayList (um array que contem arrays):
[ [ 05/07/2009; 8:00 ]; [ 04/07/2009; 8:00 ];[ 05/07/2009; 8:00 ]; [ 05/07/2009; 8:20 ]]
neste caso o primeiro elemento do array, choca com o terceiro, pois as datas e as horas são iguais.então devo setar um dos valores para a proxima hora válida.
ps.:não se preocupem com a manipulação dos dados, podem apresentar o algoritmo em portugol mesmo.