Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Johdanto Linkitettyyn Listaan | Tietorakenteiden Toteuttaminen
C-Rakenteiden Hallinta

bookJohdanto Linkitettyyn Listaan

Aiemmin työskentelit taulukoiden kanssa — yksinkertaisen ja laajasti käytetyn tietorakenteen parissa C-kielessä. Taulukot tallentavat useita saman tyyppisiä arvoja ja mahdollistavat niiden hakemisen indeksin avulla, mikä toimii hyvin, kun alkioiden määrä on kiinteä ja tiedossa etukäteen.

Todellisissa ohjelmissa tarvitaan kuitenkin usein enemmän joustavuutta. Datan määrä voi muuttua ajan myötä, ja alkioiden lisääminen tai poistaminen taulukosta voi olla tehotonta. Taulukot vaativat myös yhtenäisen muistialueen, mikä ei aina ole käytännöllistä.

Näiden rajoitusten käsittelemiseksi C tarjoaa toisen keskeisen rakenteen — linkitetyn listan.

Mikä on linkitetty lista?

Jos taulukko on kiinteä muistilohko, jossa alkiot sijaitsevat vierekkäin, linkitetty lista on ketju erillisiä solmuja, jotka on yhdistetty osoittimien avulla.

Kiinteän, ennalta määritellyn koon sijaan linkitetty lista rakennetaan dynaamisesti — solmut luodaan yksi kerrallaan ohjelman suorituksen aikana, ja jokainen solmu on linkitetty seuraavaan.

Taulukot vs linkitetyt listat

Linkitetyt listat ovat luonnollinen valinta tilanteissa, joissa rakenteen täytyy olla joustava. Ne soveltuvat hyvin, kun alkioiden määrän odotetaan muuttuvan ajon aikana, kun alkioita täytyy lisätä tai poistaa ilman tarpeetonta tietojen siirtämistä, ja kun suuren yhtenäisen muistialueen varaaminen ei ole ihanteellista.

question mark

Miksi taulukot eivät ole ihanteellisia usein toistuviin lisäyksiin ja poistoihin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookJohdanto Linkitettyyn Listaan

Pyyhkäise näyttääksesi valikon

Aiemmin työskentelit taulukoiden kanssa — yksinkertaisen ja laajasti käytetyn tietorakenteen parissa C-kielessä. Taulukot tallentavat useita saman tyyppisiä arvoja ja mahdollistavat niiden hakemisen indeksin avulla, mikä toimii hyvin, kun alkioiden määrä on kiinteä ja tiedossa etukäteen.

Todellisissa ohjelmissa tarvitaan kuitenkin usein enemmän joustavuutta. Datan määrä voi muuttua ajan myötä, ja alkioiden lisääminen tai poistaminen taulukosta voi olla tehotonta. Taulukot vaativat myös yhtenäisen muistialueen, mikä ei aina ole käytännöllistä.

Näiden rajoitusten käsittelemiseksi C tarjoaa toisen keskeisen rakenteen — linkitetyn listan.

Mikä on linkitetty lista?

Jos taulukko on kiinteä muistilohko, jossa alkiot sijaitsevat vierekkäin, linkitetty lista on ketju erillisiä solmuja, jotka on yhdistetty osoittimien avulla.

Kiinteän, ennalta määritellyn koon sijaan linkitetty lista rakennetaan dynaamisesti — solmut luodaan yksi kerrallaan ohjelman suorituksen aikana, ja jokainen solmu on linkitetty seuraavaan.

Taulukot vs linkitetyt listat

Linkitetyt listat ovat luonnollinen valinta tilanteissa, joissa rakenteen täytyy olla joustava. Ne soveltuvat hyvin, kun alkioiden määrän odotetaan muuttuvan ajon aikana, kun alkioita täytyy lisätä tai poistaa ilman tarpeetonta tietojen siirtämistä, ja kun suuren yhtenäisen muistialueen varaaminen ei ole ihanteellista.

question mark

Miksi taulukot eivät ole ihanteellisia usein toistuviin lisäyksiin ja poistoihin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 1
some-alt