Seznam (računalništvo)

Seznam (tudi spisek) je v računalništvu vrsta podatkovne strukture. Je (morebiti prazno) zaporedje, to je urejena zbirka sestavin (elementov), ki se lahko ponavljajo. Na sestavine seznama gledamo po navadi kot vpise. V nekaterih programskih jezikih je možno navesti neskončne sezname, večinoma pa je dolžina seznama končna in se lahko spreminja.

V nekaterih programskih in podatkovno določljivih jezikih so seznami označeni. To pomeni, da morajo imeti vpisi v seznamu podatkovni tip, ki je združljiv s tipom seznama.

Enakost seznamov

uredi

Včasih je enakost seznamov določena preprosto v smislu predmetne enakosti: dva seznama sta enaka tedaj in le tedaj, če sta isti predmet.

V sodobnih programskih jezikih je enakost seznamov navadno določena v smislu enakosti ustreznih vpisov, razen pri označenih seznamih, kjer so pomembni tudi tipi seznamov.

Seznami v programskih jezikih

uredi

V Lispu so seznami osnovni podatkovni tipi in lahko predstavljajo programsko kodo ali podatke. V večini inačic jezika, se seznam prvih treh praštevil lahko zapiše kot:

(quote (2 3 5)).

V Rubyju in Prologu lahko seznam zapišemo kot:

[1,2,4.5,"hej hoj",[1,2,3]].

V javi je seznam (List) vmesnik v standardni knjižnici java.util. Vsi vpisi morajo imeti napotitveni tip, oziroma morajo biti sestavine razreda z imenom Object.

C++ priskrbi možnosti seznamov v svoji standardni šablonski knjižnici (STL). Pomembno je da so vsi predmeti v seznamu istega tipa.

Nekateri programski jeziki ne omogočajo seznamskih podatkovnih struktur, vendar se lahko v njih določijo združevalna polja (razvrstitve) ali kakšne vrste tabel, ki oponašajo sezname.

Običajni način uporabe seznamov, ki izhaja iz Lispa, je, da vsaka sestavina seznama vsebuje vrednost in kazalec na naslednjo sestavino v seznamu. To vodi ali do povezanega seznama ali do drevesa, odvisno od tega ali ima seznam vgnezdene podsezname ali ne. Nekateri jeziki lahko dopolnijo sezname z uporabo drugih podatkovnih struktur, kot so polja.

Sezname lahko upravljamo z uporabo iteracije ali rekurzije.

Sorodni pojmi

uredi

Polje (array) je navadno označen seznam, katerega dolžina je stalna znotraj določenega sotvarja.

Skoraj vse vrste drevesnih struktur lahko shranimo kot sezname.

Končno matematično množico si lahko zamislimo kot seznam, kjer podvojeni elementi niso dovoljeni in vrstni red ni pomemben. V bistvu so množice običajno izvedene kot seznami, kjer so vpisi brez parov in so (zaradi učinkovitosti) razvrščeni.

Glej tudi

uredi