larsobral / mentoria

0 stars 0 forks source link

Algoritmo de Ordenação #3

Closed larsobral closed 2 years ago

larsobral commented 2 years ago

Escreva um programa que tenha uma função que receba uma lista aleatória de números e retorne uma lista ordenada.

Ex.: parâmetro: [10, 5, 4, 1, 9, 22, 21, 23] retorno: [1, 4, 5, 9, 10, 21, 22, 23]


Ideia inicial: Pensei inicialmente em inicialmente fazer um loop que passaria por cada item do array, comparando se ele era o menor valor.

primeiro fazendo um loop para correr por todos os elementos(com o primeiro item selecionado) passamos para o próximo loop onde o primeiro item vai ser comparado com todos os outros itens do array.

Problemas encontrados: Tive dificuldade pra entender como eu faria a manipulação(muda os itens de lugar no array), tive uma ideia inicial sobre como encontra o numero menor mas não sabia o que fazer com ele para colocar a lista de forma ordenada.

Estudos: Então voltei para estudar mais um pouco de logica de programação, mais especificadamente Algoritmo de Ordenação e após algumas leituras comecei a entender melhor a logica e também a ordenação desses elementos e que era algo simples na verdade.

Resultado Final: Foi criada uma função ordenarNumeros que recebe como parâmetro a listaDeNumeros desordenados. dentro da função temos um loop For que passa por todos os elementos do array. capturamos o valor do indexA que vai guardar a posição do primeiro numero. e temos mais um loop For que capturar a posição do segundo valor de comparação. temos um if que vai verificar o primeiro e segundo valor e qual o menor valor. se SIM o menor valor vai ser armazenado na variável reserva pois não queremos perder essa posição. depois é feita a troca de posição dos itens, quem tem o menor valor vai para frente(tomando a posição do outro). e depois pegamos o valor guardado na reserva e passamos para o menor. no fim temos um return que retorna o valor da lista já ordenada.