Insertion Sort I
O algoritmo de insertion sort ordena uma lista inserindo cada elemento na posição correta dentro de uma sublista já ordenada. O objetivo deste exercício é fornecer uma visualização clara de cada etapa desse processo, mostrando o estado da lista após cada inserção, para ajudar a compreender melhor como funciona o insertion sort.
:
Na imagem acima, você encontra uma ilustração do algoritmo em funcionamento.
Entrada Uma lista de inteiros desordenada.
Saída: Uma lista de listas, onde cada sublista representa o estado da lista original após cada etapa de inserção realizada pelo algoritmo de insertion sort. A lista original antes de qualquer inserção não deve ser incluída como o primeiro elemento da lista de saída.
Example:
insertion_sort_steps([3, 1, 2]) >> [[1, 3, 2], [1, 2, 3]]
insertion_sort_steps([4, 3, 2, 1]) >> [[3, 4, 2, 1], [2, 3, 4, 1], [1, 2, 3, 4]]
insertion_sort_steps([1, 2, 3]) == []