-- procura pelo minimo e coloca na primeira posicao -- vai reduzindo o tamanho da lista a medida q procura -- function selectionsort(e,d) -- posicao inicial local i = e local k = i -- menor ou igual !! precisa percorrer todos while k <= d do -- menor local m = k while k <= d do if v[k] < v[m] then m = k end k = k + 1 end -- realiza a troca do menor na posicao inicial temp = v[i] v[i] = v[m] v[m] = temp -- recomeca da inicial mais um i = i + 1 k = i end end v = { 9, 6, 3, 5, 2, 7, 10, 12, 1 } N = table.getn(v) print( table.concat(v,",") ) selectionsort(1, N) print( table.concat(v,",") )