Vrsta in sklad

Tipične operacije za vrsto so izdelava, dodajanje elementa, odvzemanje elementa in preverjanje praznosti. Operacije bomo zapisali kar kot pythonove funkcije, saj jih bomo z njimi tudi implementirali:

  • Ustvari(): Vrne prazno vrsto.
  • Dodaj(vrsta, element): Doda podani element v vrsto.
  • Odvzemi(vrsta): Odstrani element iz vrste in vrne odstranjeni element.
  • JePrazna(vrsta): Vrne True, če je vrsta prazna, sicer pa vrne False.
Sklad ima povsem enakovreden nabor operacij.

Ker sta vrsta in sklad posebna primera zaporedja, ju lahko implementiramo s tabelo elementov ali pa s povezanim seznamom. Če vrsto implementiramo s tabelo, bo dodajanje učinkovito, odvzemanje pa ne. (Zakaj?) Zato vrsto raje implementiramo s povezanim seznamom. Pri skladu pa elemente tako dodajamo kot odvzemamo samo na koncu. Za ti dve operaciji sta obe implementaciji učinkoviti, zaradi enostavnosti pa se raje odločimo za tabelo.

Funkcije za obdelavo vrste in sklada bomo zapisali v modula vrsta.py in sklad.py. Ker vrsto implementiramo s povezanim seznamom, v modulu vrsta.py uvozimo modul povezaniSeznam.py. Če si razdelek o povezanem seznamu preskočil(-a), nič hudega. Za razumevanje funkcij v modulu ti ni treba poznati podrobnosti zgradbe in operacij povezanega seznama.

Datoteki vrsta.py in sklad.py sta videti takole:

Simulacija

Modul vrsta.py

Izvedi Počisti