Grupo Lógica de Programação
ESTAMOS EM CONSTRUÇÃO - DESENVOLVIMENTO


Seja Bem Vindo ao Forum Grupo Lógica de Programação é uma satisfação recebê-los aqui.. espero que gostem desse espaço que foi feito para todos nós PROGRAMADORES.. Então venha fazer Parte deste Time tambem.. Saiba que este Forum foi feito com muita dedicação para o bem estar de todos vocês.. Então Registre-se e Decole no Mundo da Programação.....
Ao se Registrar você tem direito a participar do CHAT que só é visivel ao membros registrados. e pode bater papo com algum outro membro que estiver on line.. caso tenha alguma duvida pode olhar no Menu FAQ as perguntas mais recentes.
Bons Estudos é o que deseja todos nós que fazemos o GRUPO LÓGICA DE PROGRAMAÇÃO acontecer...

(EL MENSAJERO [FUNDADOR])

[Resolvido]Metodo de Ordenação "Radix Sort" em C

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Resolvido]Metodo de Ordenação "Radix Sort" em C

Mensagem por Andreia em Qua 25 Maio 2011, 15:20

Olá Pessoal, estou com muita dúvida em fazer um exercicio. Refere-se a ordenação pelo metodo Radix sort? alguém já ouviu falar?? Bom preciso considerar uma lista contendo N elementos com 3 algarismos, desta forma: 784,124,255,454,233,678,728,831,221,450 (dê 0 à 9). Na primeira iteração, deve ser criados10 vetores. Porém cada elemento será inserido na coluna cujo valor seja igual ao seu algarismo menos significativo, por ex., o valor 784 será inserido na coluna 4.  Assim:
0 1 2 3 4 5 6 7 8 9
450 831 233 784 255 678
221 124 728
454
Depois o vetor original é reconstruído, respeitando essa nova ordem. Assim:
0 1 2 3 4 5 6 7 8 9
450 831 221 233 784 124 454 255 678 728
O algoritmo se repete, analisando agora o algarismo do meio, para o exemplo do 784 pelo número 8. As colunas ficarão:
0 1 2 3 4 5 6 7 8 9
221 831 450 678 784
124 233 454
728 255
Reconstrói-se novamente a  lista original:
0 1 2 3 4 5 6 7 8 9
221 124 728 831 233 450 454 255 678 784
Repete o algoritmo novamente, analisando agora o algarismo mais significativo, para o exemplo do 784 pelo número 7. As colunas ficarão:
0 1 2 3 4 5 6 7 8 9
124 221 450 678 728 831
233 454 784
255
Com a reconstrução da lista original, tem-se o vetor ordenado. Assim:
0 1 2 3 4 5 6 7 8 9
124 221 233 255 450 454 678 728 784 831
Enfim, pessoal preciso fazer essa ordenação com este metodo Radix sort, por favor alguém pode me ajudar, explicar. Obrigada antecipadamente.

att,
Deia.

Andreia
Novo no Fórum
Novo no Fórum

Mensagens : 1
Pontos : 8
Reputação : 0
Data de inscrição : 17/09/2010

Voltar ao Topo Ir em baixo

Depois de muito tempo,a resposta...

Mensagem por RammaR em Qui 07 Mar 2013, 02:01

1 - Inicialize o vetor a ser ordenado
2- Inicialize 10 listas vazias
3 - Inicializa um valor M = 10 e N = 1
3 - Loop: para cada elemento do vetor faça
retire o resto da divisão do elemento por M
divida o resultado acima por N
Se o resultado da divisão acima for 0, guarde na lista de numero 0
Se for 1,guarde na lista de numero 1
Se for 2,guarde na 2
...
Fim
4 - Limpe o vetor original
5 - Adiciona ao vetor original os elementos da lista 0,lista1,lista2,lista3,etc..
6 - Limpe as listas (exceto o vetor original,claro)
7 - multiplique M por 10 e N por 10
8 - Volte ao passo 3 X vezes
Em que X é o tamanho máximo de caracteres encontrados em algum elemento do seu vetor. Exemplo: 1,5,90,45,107
O maior elemento é 107 que possui 3 caracteres,portando X é 3

RammaR
Novo no Fórum
Novo no Fórum

Mensagens : 1
Pontos : 2
Reputação : 0
Data de inscrição : 07/03/2013

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum