Miten voi linkitetyn listan sisällön muokata aakkosjärjestykseen esim. pikalajittelulla tai jollakin muulla tavalla. Ymmärrän miten tuo pikalajittelu toimii taulukolle, mutta en osaa soveltaa sitä linkitetylle listalle.
Aakkosjärjestys
Pää Kasvaa
5762
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 5
Vanhimmat
Teet vaikka pointteritaulukon niille elementeille ja käytät qsorttia siihen taulukkoon
Olen vasta-alkaja en tiedä mikä on pointteritaulukko tai miten se javalla toteutetaan
Esimerkki:
Integer pointteriKokonaislukuun=new Integer(4);
Eli kun jotain on tehty new-operaattorilla ja tulos säilötään muuttujaan kysessä on pointteri.
Integer[] pointteriTaulukko=new Integer[34];
Taulukon alkiot pitää erikseen alustaa.
Saat lajittelun tehtyä ilman tajua pointtereista.
Jos käytät Java:n ArrayList-luokkaa niin lajittelu menee näin:
Collections.sort(lista);
Jos tuo lajittelu pitää itse tehdä niin tässä tapauksessa erot ovat pituuden selvittämisessä ja alkion käsittelyssä:
Taulukossa
=======================
taulukko.length
taulukko[indeksi]
Listassa
=======================
lista.size()
get(indeksi)
set(indeksi)
Collection.sort() sorttaa Stringit aakkosjärjestyksessä (käyttää siis Object.compareTo()-metodia, joka Stringeillä tekee aakkosjärjestyksen):
ArrayList list = new ArrayList();
list.add("bca");
list.add("ccd");
list.add("abc");
list.add("bac");
list.add("aac");
Collections.sort(list);
// Nyt list on sortattu oikein.