Virna Ja Järjekorra Erinevus

Virna Ja Järjekorra Erinevus
Virna Ja Järjekorra Erinevus
Anonim

Virna vs järjekord

Virn on järjestatud loend, milles loendikirjeid saab sisestada ja kustutada ainult ühes otsas, mida nimetatakse ülaosaks. Sel põhjusel peetakse virna andmemahuks Last in First out (LIFO). Järjekord on ka järjestatud loend, kus loendiüksuste sisestamine toimub ühes otsas, mida nimetatakse tagumiseks, ja üksuste kustutamine toimub teises otsas, mida nimetatakse esiosaks. See sisestus- ja kustutusmehhanism muudab järjekorra FIFO (First in First out) andmestruktuuriks.

Mis on virna?

Nagu varem mainitud, on pinu andmestruktuur, milles elemendid lisatakse ja eemaldatakse ainult ühest otsast, mida nimetatakse ülaosaks. Virnad võimaldavad ainult kahte põhitoimingut, mida nimetatakse push ja popiks. Lükkamistoiming lisab virna ülaosale uue elemendi. Pop-operatsioon eemaldab virna ülaosast elemendi. Kui virn on juba täis, loetakse tõukamistoimingu sooritamisel seda virna ülevooluks. Kui popoperatsioon viiakse läbi juba tühja korstnaga, loetakse seda virna alavooluks. Kuna korstnas saab teha vähe toiminguid, peetakse seda piiratud andmestruktuuriks. Lisaks sellele on tõukefunktsioonide määratlemise viisi järgi selge, et virna viimasena lisatud elemendid lähevad virnast välja esimesena. Seetõttu loetakse virna LIFO andmestruktuuriks.

DifferenceBetween C Stack Queue
DifferenceBetween C Stack Queue

Mis on järjekord?

Järjekorras lisatakse elemendid järjekorra tagant ja eemaldatakse järjekorra esiosast. Kuna esimesena lisatud elemendid eemaldatakse kõigepealt järjekorrast, säilitab see FIFO järjekorra. Tänu sellele elementide lisamise ja eemaldamise järjekorrale esindab järjekord kassarida ideed. Üldised toimingud, mida järjekord toetab, on järjekorra ja järjekorra eemaldamise toimingud. Järjekorraoperatsioon lisab elemendi järjekorra taha, samal ajal kui järjekorrast eemaldamine eemaldab elemendi järjekorra esiosast. Üldiselt ei ole järjekordades piiranguid lisaks mälupiirangutele järjekorda lisatavate elementide arvule.

Mis vahe on virna ja järjekorra vahel?

Kuigi nii virnad kui ka järjekorrad on omamoodi järjestatud loendid, on neil mõned olulised erinevused. Virnades saab elemente lisada või kustutada ainult ühest otsast, mida nimetatakse ülemiseks, järjekordades aga elementide lisamine ühest otsast, mida nimetatakse tagumiseks, ja üksuste kustutamine toimub teisest otsast, mida nimetatakse esiosaks. Virnas eemaldatakse virnast esimesena korstnasse lisatud üksused. Seetõttu loetakse virna LIFO andmestruktuuriks. Järjekordades eemaldatakse kõigepealt järjekorrast esimesena lisatud üksused. Seetõttu loetakse järjekorda FIFO andmestruktuuriks.

Seotud link:

Virna ja kuhja erinevus

Soovitatav: