Nie chce mi si? poprawia? twojego kodu st?d te? wklejam swoj? interpretacj? algorytmu:
function sort(items)
itemsTable = {}
local i = 1
itemsTable[1] = {}
for k,v in ipairs(items) do
if k % 7 == 0 then
i = i + 1
itemsTable[i] = {}
end
table.insert(itemsTable[i],v)
end
return itemsTable
end
Ale mam co? tutaj wpisywa? ? W sensie np v[1] , v[2] , v[3], czy to samo ogarnie ?
Ta funkcja dzia?a tak, ?e podajesz jej tabel?, kt?r? chcesz posortowa?, a ona sortuje co 7 krotno?? dodaj?c nowy 'wymiar' w tablicy i j? zwraca.
I m?g?by? powiedzie? co w moim by?o nie tak ?
Du?o tam z?ego by?o. Pierwsza rzecz jaka mi si? rzuci?a w oczy to brak modulo (reszty z dzielenia), kt?r? ja zastosowa?em. Od razu u?atwia to ?ycie w przypadku du?ej tablicy. Poza tym reszt? ola?em przechodz?c do kodzenia w?asnego algorytmu. Dodam jeszcze, ?e moja funkcja dzia?a tylko na 1 wymiarowej tablicy.
Dzia?a, ale jest jeden b??d, robi si? to na odwr?t. Wszystkich itemk?w jest 17. W itemsTable[1] jest 5 w itemsTable[2] jest 6 i w itemsTable[3] jest 6, czyli dzieje si? to na odwr?t. Jak to odwr?ci? ?
EDIT: Dobra poradzi?em sobie sam, dzieki wielkie.
EDIT2: Jednak nie, pierwsza jest dobrze na 6, a kolejne s? na 7, nie wiem dlaczego.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach