DOUG Lloyd: Hyvﾃ､, joten tﾃ､ssﾃ､ kohdassa olet
luultavasti tuttuja jossa paneelit ja liittyvﾃ､t luettelot
joka on kaksi pﾃ､ﾃ､asiallista tietorakenteita olemme
puhui pitﾃ､ﾃ､ sarjaa tiedot samankaltaisten tietotyyppejﾃ､ jﾃ､rjestetty.
>> Nyt aiomme puhua noin pari muunnelmia
koskevat taulukot ja linkitettyjen listojen.
Tﾃ､ssﾃ､ videossa olemme menossa puhua pinot.
Erityisesti aiomme puhua noin datarakenne kutsutaan pino.
Recall aiempiin keskusteluihin noin viitteitﾃ､ ja muisti,
ettﾃ､ pino on myﾃｶs nimenne segmentin muistia
jossa staattisesti ilmoitettu memory-- muisti, ettﾃ､ olet
nimi, muuttujat annat nimeksi, et niin edelleen ja toiminta kehyksiﾃ､, jotka olemme myﾃｶs
kutsupino kehyksiﾃ､ olemassa.
Joten tﾃ､mﾃ､ on pino tietorakenne ei pino segmentti muistia.
OK.
>> Mutta mikﾃ､ on pino?
Joten se on aika paljon vain erikoinen rakenne
joka yllﾃ､pitﾃ､ﾃ､ tietoja jﾃ､rjestﾃ､ytyneesti.
Ja siellﾃ､ on kaksi hyvin yhteinen tapoja toteuttaa
pinot kahdella tietorakenteita ettﾃ､ olemme jo tuttuja,
taulukot ja linkitettyjen listojen.
Mikﾃ､ tekee pino erityinen on miten laitamme tiedot
pinoon, ja tapaamme poistaa tietoja pinosta.
Erityisesti pinot sﾃ､ﾃ､ntﾃｶ on vain kaikkein
viimeksi lisﾃ､tyt elementti voidaan poistaa.
>> Joten ajattele sitﾃ､ niin kuin se on pino.
Olemme paalutus tiedot itsensﾃ､ pﾃ､ﾃ､lle,
ja vain asia ylﾃ､reunassa paalun voidaan poistaa.
Emme voi poistaa asia alla koska kaikki muu olisi
romahtaa ja kaatua.
Joten me todella olemme rakentamassa pinon Sitten tﾃ､ytyy poistaa pala palalta.
Tﾃ､mﾃ､n vuoksi me yleensﾃ､ viitataan pinoon niin LIFO rakenne,
last in, first out.
LIFO, last in, first out.
>> Joten koska tﾃ､mﾃ､ rajoitus miten tieto voidaan lisﾃ､tﾃ､
ja poistetaan pinosta, siellﾃ､ oikeastaan vain kaksi asiaa voimme tehdﾃ､ pino.
Voimme tyﾃｶntﾃ､ﾃ､, joka on termi kﾃ､ytﾃ､mme lisﾃ､ﾃ､miseen
uusi elementti alkuun pino, tai jos pino ei ole olemassa
ja Luomme sitﾃ､ tyhjﾃ､stﾃ､, luodaan pino ensinnﾃ､kin
olisi ajaa.
Ja sitten pop, ettﾃ､ on sellainen CS termi kﾃ､ytﾃ､mme poistaa viimeksi
lisﾃ､tﾃ､ﾃ､n elementti ylhﾃ､ﾃ､ltﾃ､ pinon.
>> Joten olemme menossa katsomaan molemmat toteutukset, molemmat array perustuu
ja linkitetty lista perustuu.
Ja aiomme aloittaa array perustuu.
Joten tﾃ､ssﾃ､ on perusajatus, mitﾃ､ array perustuu pino tietorakennetta
nﾃ､yttﾃ､isi.
Meillﾃ､ kirjoitetut mﾃ､ﾃ､ritelmﾃ､ tﾃ､ﾃ､llﾃ､.
Sisﾃ､ltﾃ､ ettﾃ､ meillﾃ､ on kaksi jﾃ､sentﾃ､ tai kenttiﾃ､ rakenteen.
Meillﾃ､ jono.
Ja taas olen kﾃ､yttﾃ､en mielivaltaista tietotyyppi arvo.
>> Joten tﾃ､mﾃ､ voisi olla mikﾃ､ tahansa tietotyyppi, int char tai erﾃ､itﾃ､ muita tietoja
Kirjoita olet aiemmin luonut.
Joten meillﾃ､ on taulukon koko kapasiteetin.
Kapasiteetti punta mﾃ､ﾃ､ritelty vakio, ehkﾃ､ jossain muualla meidﾃ､n tiedostoon.
Niin huomaa jo tﾃ､mﾃ､n tietyn tﾃ､ytﾃ､ntﾃｶﾃｶnpano olemme rajaava
itsemme oli tyypillisesti tapauksessa paneelit,
joita emme voi dynaamisesti muuttaa, missﾃ､ on joitakin
elementtien maksimi ettﾃ､ voimme laittaa meidﾃ､n pinon.
Tﾃ､ssﾃ､ tapauksessa se on kapasiteettia elementtejﾃ､.
>> Olemme myﾃｶs seurata pinon.
Mikﾃ､ elementti on kaikkein ﾃ､skettﾃ､in lisﾃ､tﾃ､ pinoon?
Ja niin me seurata, ettﾃ､ muuttujaan nimeltﾃ､ alkuun.
Ja kaikki tﾃ､mﾃ､ saa kﾃ､ﾃ､rittynﾃ､ yhteen uuteen tietotyyppi nimeltﾃ､ﾃ､n pino.
Ja kun me luoneet tﾃ､mﾃ､ uusi tietotyyppi
voimme kﾃ､sitellﾃ､ sitﾃ､ kuin muita tietoja tyyppi.
Voimme julistaa pino s, kuten voisimme tehdﾃ､ int x, tai char y.
Ja kun me sanomme pino s, hyvin, mitﾃ､ tapahtuu
on saamme joukko muisti varattu meille.
>> Tﾃ､ssﾃ､ tapauksessa kapasiteettia Olen ilmeisesti pﾃ､ﾃ､ttﾃ､nyt
on 10 koska minulla yhden muuttujan tyypin pinon
joka sisﾃ､ltﾃ､ﾃ､ kaksi kenttﾃ､ﾃ､ muistaa.
Array, tﾃ､ssﾃ､ tapauksessa on menossa olla joukko kokonaislukuja
kuten on laita suurimman osan esimerkeistﾃ､.
Ja toinen kokonaisluku muuttuja kykenee tallentamaan alkuun,
viimeksi lisﾃ､tyt elementti pino.
Joten yksi pino mitﾃ､ me aivan mﾃ､ﾃ､ritelty nﾃ､yttﾃ､ﾃ､ seuraavalta.
Se on laatikko sisﾃ､ltﾃ､ﾃ､ joukko 10 mitﾃ､
on kokonaislukuja tﾃ､ssﾃ､ tapauksessa ja toinen kokonaisluku muuttuja siellﾃ､ vihreﾃ､
osoittamaan pinon pﾃ､ﾃ､lle.
>> Asettaa alkuun pino me vain sanoa s.top.
Nﾃ､in saimme pﾃ､ﾃ､syn alan rakenne muistuttaa.
s.top ollessa 0 tehokkaasti ei tﾃ､mﾃ､ meidﾃ､n pinoon.
Joten jﾃ､lleen meillﾃ､ on kaksi toimintaa ettﾃ､ voimme tehdﾃ､ nyt.
Emme voi tyﾃｶntﾃ､ﾃ､ ja voimme pop.
Aloitetaan push.
Jﾃ､lleen tyﾃｶntﾃ､ﾃ､ lisﾃ､ﾃ､ uuden elementti pﾃ､ﾃ､llimmﾃ､inen.
>> Joten mitﾃ､ me tarvitsemme tehdﾃ､ tﾃ､mﾃ､n taulukon toteutuksesta?
Hyvin yleisesti push-toiminnon on menossa
tarvitse hyvﾃ､ksyﾃ､ osoitin pino.
Nyt ottaa toisen ja miettiﾃ､ sitﾃ､.
Miksi haluamme hyvﾃ､ksyﾃ､ osoitin pino?
Recall edellinen videoita kiikaritﾃ､htﾃ､imellﾃ､ ja osoittimia,
mitﾃ､ tapahtuisi, jos me vain lﾃ､hetetﾃ､ﾃ､n pino, s pikemminkin kuin parametri?
Mitﾃ､ todella vﾃ､litetﾃ､ﾃ､n siellﾃ､?
Muista Luomme kopio kun vﾃ､litﾃ､mme sen funktio
ellemme kﾃ､ytﾃ､ osoittimia.
Ja niin tﾃ､mﾃ､ toiminto tyﾃｶntﾃ､ﾃ､ tarpeisiin hyvﾃ､ksyﾃ､ osoitin pinoon
niin ettﾃ､ olemme todella muuttuu pino aiomme muuttaa.
>> Toinen asia push varmaan haluaa hyvﾃ､ksyﾃ､ on tieto tyypin arvo.
Tﾃ､ssﾃ､ tapauksessa, jﾃ､lleen, kokonaisluku, joka aiomme lisﾃ､tﾃ､ huipulle pinon.
Joten meillﾃ､ meidﾃ､n kahden parametrit.
Mitﾃ､ aiomme nyt tehdﾃ､ sisﾃ､llﾃ､ push?
No, yksinkertaisesti, me vain aio lisﾃ､tﾃ､ ettﾃ､ elementti huipulle pinon
ja sitten muuttaa, jos alkuun pino on, ettﾃ､ s piste alkuun arvo.
Joten tﾃ､mﾃ､ on mitﾃ､ funktio ilmoitus push
voisi nﾃ､yttﾃ､ﾃ､ vuonna array-pohjainen toteuttamista.
>> Tﾃ､mﾃ､kﾃ､ﾃ､n ei ole kova ja nopea sﾃ､ﾃ､ntﾃｶ ettﾃ､ voisit muuttaa tﾃ､tﾃ､ ja on
se vaihtelee eri tavoin.
Ehkﾃ､ s julistetaan maailmanlaajuisesti.
Ja niin sinun ei tarvitse edes siirtﾃ､ﾃ､ se on parametrina.
Tﾃ､mﾃ､ on jﾃ､lleen vain Yleinen tapaus push.
Ja on olemassa erilaisia tapoja toteuttaa se.
Mutta tﾃ､ssﾃ､ tapauksessa meidﾃ､n push vie
kaksi argumenttia, osoitin pino ja tieto tyypin arvo, kokonaisluku
tﾃ､ssﾃ､ tapauksessa.
>> Joten me julisti s, me sanoi s.top ollessa 0.
Nyt tyﾃｶnnﾃ､ numero 28 pinoon.
No mitﾃ､ se tarkoittaa?
No tﾃ､llﾃ､ hetkellﾃ､ pinon on 0.
Ja niin mitﾃ､ pohjimmiltaan tulee tapahtumaan on
aiomme pysyﾃ､ numero 28 osaksi array sijainti 0.
Melko yksinkertainen, oikea, ettﾃ､ oli alkuun ja nyt olemme hyvﾃ､ mennﾃ､.
Ja sitten meidﾃ､n tﾃ､ytyy muuttaa mitﾃ､ pﾃ､ﾃ､llimmﾃ､inen on.
Niin ettﾃ､ seuraavan kerran me push elementti,
aiomme tallentaa sen array sijainti, luultavasti ei 0.
Emme halua korvata mitﾃ､ me vain laittaa sinne.
Ja niin me vain siirtyﾃ､ ylhﾃ､ﾃ､ltﾃ､ 1.
Ettﾃ､ luultavasti jﾃ､rkevﾃ､ﾃ､.
>> Nyt jos haluamme laittaa toinen elementti pinoon, ettﾃ､ haluamme ajaa 33,
No nyt me vain vie 33 ja laita se array sijainti numero
1, ja sitten muuttaa kﾃ､rkeen pino olla valikoimaan Sijainti numero kaksi.
Joten jos seuraavan kerran haluamme push elementti pinoon,
se tulee laittaa array sijainti 2.
Ja tehdﾃ､ﾃ､n se vielﾃ､ kerran.
Me ajaa 19 pois pinot.
Laitamme 19 array sijainti 2 ja muuttaa kﾃ､rkeen pinon
olla array sijainti 3 joten jos seuraavan kerran
tﾃ､ytyy tehdﾃ､ push olemme hyvﾃ､ mennﾃ､.
>> OK, niin se tyﾃｶntﾃ､ﾃ､ pﾃ､hkinﾃ､nkuoressa.
Entﾃ､ popping?
Joten popping on erﾃ､ﾃ､nlainen vastine tyﾃｶntﾃ､ﾃ､.
Se miten me poistaa tietoja pino.
Ja yleensﾃ､ pop tarpeisiin tehdﾃ､ seuraavaa.
Se tarvitsee hyvﾃ､ksyﾃ､ osoitin pino, jﾃ､lleen yleisessﾃ､ tapauksessa.
Joissakin muissa tapauksessa saatat ovat ilmoittaneet pino maailmanlaajuisesti,
jolloin sinun ei tarvitse siirtﾃ､ﾃ､ sitﾃ､ koska siihen on jo pﾃ､ﾃ､sy siihen
kuten globaali muuttuja.
Mutta sitten mitﾃ､ muuta meidﾃ､n tﾃ､ytyy tehdﾃ､?
No olimme monesko pinon push,
joten olemme luultavasti menossa haluavat dekrementoidaan pinon pﾃ､ﾃ､lle
pop, eikﾃｶ?
Ja sitten tietenkin olemme myﾃｶs menossa haluavat
palauttaa arvon ettﾃ､ poistamme.
Jos lisﾃ､ﾃ､mme elementtejﾃ､, haluamme pﾃ､ﾃ､stﾃ､ elementit ulos myﾃｶhemmin,
me luultavasti todella haluat tallentaa niitﾃ､ niin me
ﾃ､lﾃ､ vain poista ne pino ja sitten tehdﾃ､ mitﾃ､ﾃ､n heidﾃ､n kanssaan.
Yleensﾃ､ jos olemme tyﾃｶntﾃ､mﾃ､llﾃ､ ja popping tﾃ､ﾃ､llﾃ､
haluamme sﾃ､ilyttﾃ､ﾃ､ tﾃ､mﾃ､n tiedot tarkoituksenmukaisella tavalla
ja niin se ei tee jﾃ､rkeﾃ､ vain hﾃ､vittﾃ､ﾃ､ sen.
Joten tﾃ､mﾃ､ toiminto olisi luultavasti palata arvo meille.
>> Joten tﾃ､mﾃ､ on mitﾃ､ ilmoitus pop voisi nﾃ､yttﾃ､ﾃ､ siellﾃ､ ylhﾃ､ﾃ､llﾃ､ vasemmalla.
Tﾃ､mﾃ､ toiminto palauttaa data tyypin arvo.
Jﾃ､lleen olemme olleet kﾃ､yttﾃ､en kokonaislukuja kaikkialla.
Ja se hyvﾃ､ksyy osoittimen pinon sen ainoa argumentti tai ainoa parametri.
Joten mitﾃ､ on pop aikoo tehdﾃ､?
Sanotaan haluamme nyt pop elementti pois s.
Joten muistakaa Sanoin, ettﾃ､ pinot ovat viime in, first out, LIFO tietorakenteita.
Joka elementti on menossa poistetaan pinosta?
Arvasit 19?
Koska olisit oikeassa.
19 oli viimeinen elementti lisﾃ､simme pino kun olimme tyﾃｶntﾃ､ﾃ､ elementtejﾃ､,
ja niin se tulee ensimmﾃ､inen elementti, joka saa poistaa.
Aivan kuin sanoimme 28, ja sitten laittaa 33 sen pﾃ､ﾃ､lle,
ja laitamme 19 pﾃ､ﾃ､lle, ettﾃ､.
Ainoa elementti voimme ottaa pois on 19.
>> Nyt kaavion tﾃ､ﾃ､llﾃ､, mitﾃ､ olen tehnyt on erﾃ､ﾃ､nlainen poistetaan 19 jono.
Se ei ole oikeastaan mitﾃ､ aiomme tehdﾃ､.
Olemme juuri menossa erﾃ､ﾃ､nlainen ja teeskennellﾃ､ se ei ole siellﾃ､.
Se on edelleen siellﾃ､ ettﾃ､ muistipaikka,
mutta me vain aio sivuuttaa sitﾃ､ muuttamalla alkuun meidﾃ､n pinon
olemasta 3-2.
Joten jos me nyt tyﾃｶntﾃ､ﾃ､ toinen elementti pinoon,
se yli kirjoittaa 19.
>> Mutta ﾃ､lkﾃ､ﾃ､mme kﾃ､ydﾃ､ lﾃ､pi ongelmia poistamisen 19 pinosta.
Voimme vain teeskennellﾃ､ se ei ole siellﾃ､.
Varten pinon se on mennyt, jos muutamme alkuun olevan 2 sijasta 3.
Selvﾃ､, joten se oli aika paljon se.
Siinﾃ､ kaikki meidﾃ､n tﾃ､ytyy tehdﾃ､ pop elementti pois.
Tehdﾃ､ﾃ､n se uudestaan.
Joten olen korostanut sen punaisella tﾃ､ﾃ､llﾃ､ osoittavat Teemme toisen puhelun.
Aiomme tehdﾃ､ sama asia.
>> Joten mitﾃ､ tulee tapahtumaan?
No, me aiomme sﾃ､ilyttﾃ､ﾃ､ 33 x ja olemme menossa
muuttaa pﾃ､ﾃ､llimmﾃ､inen 1.
Niin ettﾃ､ jos me nyt tyﾃｶntﾃ､ﾃ､ elementin pinon johon olemme
aikoo tehdﾃ､ juuri nyt, mitﾃ､ tulee tapahtumaan
on aiomme pﾃ､ﾃ､lleﾃ､ﾃ､nittﾃ､vﾃ､n array Sijainti numero 1.
Jotta 33 joka oli tavallaan jﾃ､ljellﾃ､ takana me vain teeskenteli
jota ei enﾃ､ﾃ､ ole, me vain menossa jotta hakata sitﾃ､ ja laittaa 40 siellﾃ､ sijaan.
Ja sitten tietenkin, koska teimme push,
aiomme kasvattaa pinon 1-2
niin ettﾃ､ jos me nyt lisﾃ､tﾃ､ toinen elementti se tulee
mennﾃ､ array Sijainti numero kaksi.
>> Nyt liittyvﾃ､t luettelot ovat toinen tapa toteuttaa pinot.
Ja jos tﾃ､mﾃ､n mﾃ､ﾃ､ritelmﾃ､n screen tﾃ､ﾃ､llﾃ､ nﾃ､yttﾃ､ﾃ､ tutulta,
se johtuu se nﾃ､yttﾃ､ﾃ､ melkein tﾃ､smﾃ､lleen sama, itse asiassa,
se aika paljon on tﾃ､smﾃ､lleen sama kuin yksinﾃ､ﾃ､n linkitetty lista,
Jos muistatte meidﾃ､n keskustelua yksittﾃ､in sidoksissa luetteloita toinen video.
Ainoa rajoitus tﾃ､ssﾃ､ on meille ohjelmoijille,
emme saa lisﾃ､tﾃ､ tai poistaa satunnaisesti
alkaen yksittﾃ､in linkitetyn listan jota voisimme aiemmin tehdﾃ､.
Voimme vain nyt lisﾃ､tﾃ､ ja poistaa etu- tai ylﾃ､osan linkitetyn
lista.
Se on todella ainoa ero kuitenkin.
Tﾃ､mﾃ､ on muuten yksittﾃ､in linkitetyn listan.
Se on vain rajoitus korvaa itsellemme
kuten ohjelmoijille, ettﾃ､ muuttuu sen pinoon.
>> Sﾃ､ﾃ､ntﾃｶ tﾃ､ﾃ､llﾃ､ on aina sﾃ､ilyttﾃ､ﾃ､ osoitin johtaja linkitetyn listan.
Tﾃ､mﾃ､ on tietysti yleisesti tﾃ､rkeﾃ､ sﾃ､ﾃ､ntﾃｶ ensin.
Saat yksittﾃ､in linkitetty lista muutenkin sinua tarvitsee vain osoitin pﾃ､ﾃ､hﾃ､n
jotta on, ettﾃ､ ketju voitava siirtﾃ､ﾃ､
joka toinen elementti vuonna linkitetty lista.
Mutta se on erityisen tﾃ､rkeﾃ､ﾃ､ pino.
Ja niin yleensﾃ､ olet menossa todella haluavat
tﾃ､mﾃ､ osoitin on globaali muuttuja.
Se luultavasti olla jopa helpompaa nﾃ､in.
Mitkﾃ､ ovat analogeja push ja pop?
Oikea.
Joten tyﾃｶntﾃ､ﾃ､ taas on lisﾃ､nnyt uusi elementti pino.
Vuonna linkitetty lista, joka tarkoittaa, ettﾃ､ menossa on
luoda uusi solmu, ettﾃ､ olemme menossa lisﾃ､tﾃ､ osaksi linkitetty lista,
ja noudata varovaisia 窶銀蟻skelia ettﾃ､ olemme edellﾃ､ on selostettu
vuonna yksittﾃ､in linkitettyjen listojen lisﾃ､tﾃ､ sen ketju rikkomatta ketjua
ja menettﾃ､mﾃ､ttﾃ､ tai orpoutumista tahansa elementtejﾃ､ linkitetyn listan.
Ja se on periaatteessa mitﾃ､ ettﾃ､ pikku mﾃｶykky tekstiﾃ､ siellﾃ､ tiivistﾃ､ﾃ､.
Ja lﾃ､hdetﾃ､ﾃ､n katsomaan sitﾃ､ kuin kaavio.
>> Joten tﾃ､ssﾃ､ on meidﾃ､n linkitetty lista.
Se samanaikaisesti sisﾃ､ltﾃ､ﾃ､ neljﾃ､ osatekijﾃ､ﾃ､.
Ja tﾃ､ydellisemmin tﾃ､ssﾃ､ meidﾃ､n pino sisﾃ､ltﾃ､ﾃ､ neljﾃ､ elementtejﾃ､.
Ja sanotaanko haluamme nyt tyﾃｶntﾃ､ﾃ､ uusi kohde pﾃ､ﾃ､lle tﾃ､mﾃ､ pino.
Ja haluamme tyﾃｶntﾃ､ﾃ､ uusi Tuote, jonka data-arvo on 12.
No mitﾃ､ aiomme tehdﾃ､?
No ensimmﾃ､inen aiomme malloc tila, dynaamisesti
jakaa tilaa uusi solmu.
Ja tietenkin heti me soittaa malloc me aina
varmista tarkistaa null, koska jos meillﾃ､ null takaisin
siellﾃ､ oli jonkinlainen ongelma.
Emme halua dereference ettﾃ､ null osoitin tai tulet kﾃ､rsimﾃ､ﾃ､n seg vika.
Tuo ei ole hyvﾃ､.
Joten olemme malloced solmun.
Oletamme meillﾃ､ on ollut menestys tﾃ､ﾃ､llﾃ､.
Aiomme laittaa 12 otetaan datakentﾃ､ssﾃ､, ettﾃ､ solmun.
Nyt te muistatte joka meidﾃ､n osoittimia siirtyy ensi joten emme katkaisemiseksi?
Meillﾃ､ on pari vaihtoehtoa tﾃ､ﾃ､llﾃ､, mutta ainoa, joka tulee olemaan turvallinen
on asettaa uutinen ensi osoitin kohta vanhaan johtaja luettelon
tai mitﾃ､ pian vanha pﾃ､ﾃ､ luettelon.
Ja nyt, ettﾃ､ meidﾃ､n kaikkien elementit ketjuttaa,
voimme vain siirtyﾃ､ luettelon kohtaan samaan paikkaan, ettﾃ､ uudet ei.
Ja olemme nyt kﾃ､ytﾃ､nnﾃｶssﾃ､ ajanut uusi elementti pﾃ､ﾃ､lle edessﾃ､ pinon.
>> Pop me vain haluamme poistaa ettﾃ､ ensimmﾃ､inen elementti.
Ja niin periaatteessa mitﾃ､ meidﾃ､n on tehtﾃ､vﾃ､ tﾃ､ﾃ､llﾃ､,
hyvin meidﾃ､n tﾃ､ytyy lﾃｶytﾃ､ﾃ､ toinen elementti.
Lopulta ettﾃ､ tulee uusi pﾃ､ﾃ､ kun olemme poistaa ensimmﾃ､inen.
Joten meidﾃ､n tﾃ､ytyy vain aloittaa alusta, siirtyﾃ､ yksi eteenpﾃ､in.
Kun meillﾃ､ otteen yksi eteenpﾃ､in siitﾃ､, missﾃ､ olemme tﾃ､llﾃ､ hetkellﾃ､
ovat voimme poistaa ensimmﾃ､inen turvallisesti ja sitten voimme vain siirtﾃ､ﾃ､ pﾃ､ﾃ､n
osoittamaan, mikﾃ､ oli Toinen termi ja sitten nyt
on ensimmﾃ､inen sen jﾃ､lkeen solmu on poistettu.
>> Joten jﾃ､lleen, kun tarkastellaan sitﾃ､ kun kaavio me
haluavat nyt pop elementti pois tﾃ､hﾃ､n pinoon.
Joten mitﾃ､ me teemme?
No me ensin luomassa uusi osoitin, joka menee
osoittamaan samaan paikkaan kuin pﾃ､ﾃ､.
Aiomme siirtﾃ､ﾃ､ sen yhden paikan eteenpﾃ､in sanomalla Trav tasavertaisten
trav ensi esimerkiksi, joka edistﾃ､isi Trav osoitin yksi
asentoon eteenpﾃ､in.
Nyt kun meillﾃ､ pitﾃ､ﾃ､ ensimmﾃ､isen elementin
kautta osoitin kutsutaan luettelo, ja Toinen elementti lﾃ､pi osoitin nimeltﾃ､ﾃ､n
trav, voimme turvallisesti poistaa ettﾃ､ ensimmﾃ､inen elementti pinosta
menettﾃ､mﾃ､ttﾃ､ loput Ketjun koska me
on tapa viitata toiseen osaan
vﾃ､littﾃ､mﾃ､ﾃ､n tavalla osoitin kutsutaan trav.
>> Joten nyt voimme vapauttaa ettﾃ､ solmu.
Voimme ilmainen luettelo.
Ja sitten kaikki meidﾃ､n tﾃ､ytyy tehdﾃ､ nyt on Siirrﾃ､ lista viittaavat samaan paikkaan
ettﾃ､ trav tekee, ja olemme tavallaan takaisin jossa aloitimme ennen kuin tyﾃｶnsi 12
on ensimmﾃ､inen paikka, oikea.
Juuri tﾃ､ssﾃ､ me olimme.
Meillﾃ､ oli tﾃ､mﾃ､n neljﾃ､n elementin pino.
Lisﾃ､simme viidesosa.
Tyﾃｶnsimme viidesosa elementin, ja sitten me
piipahti ettﾃ､ viimeksi lisﾃ､tty elementti perﾃ､ﾃ､ntymﾃ､ﾃ､n.
>> Se on oikeastaan 窶銀蟻ika paljon kaikki on pinot.
Voit toteuttaa ne taulukot.
Voit toteuttaa ne liittyvﾃ､t luettelot.
On, tietenkin, muiden tapoja toteuttaa niitﾃ､.
Periaatteessa syystﾃ､ kﾃ､yttﾃ､isi pinot on yllﾃ､pitﾃ､ﾃ､ dataa siten,
ettﾃ､ viimeksi lisﾃ､tyt elementti on ensimmﾃ､inen asia olemme
menossa halua saada takaisin.
Olen Doug Lloyd, tﾃ､mﾃ､ on CS50.