Se sto caricando un intero carico di elementi (parole non ordinate da un file o qualcosa del genere) sarebbe più efficiente caricarli tutti in un array di Ruby, e quindi usare il metodo built in sort!
o fare una ricerca binaria per il posto di ogni elemento nell'elenco mentre lo carico e lo aggiungo in quella posizione.
Codice base:
array = []
lines.each do |line|
array.push line
end
array.sort!
vs
array = []
lines.each do |line|
array.insert(find_index(line), line)
end
find_index()
cercherebbe l'indice corretto per l'elemento nell'array usando una ricerca binaria.