strukt Seznam {
_seznam: @[celo]
dolžina: celo
}
funkcija Seznam(pomnilnik: @[celo]) -> Seznam {
vrni Seznam {
_seznam: pomnilnik,
dolžina: 0,
}
}
funkcija kapaciteta(seznam: @Seznam) -> celo {
vrni seznam._seznam.dolžina
}
funkcija dolžina(seznam: @Seznam) -> celo {
vrni seznam.dolžina@
}
funkcija dodaj(seznam: @Seznam, elem: celo) -> bool {
če seznam.dolžina@ == seznam._seznam.dolžina {
vrni laž
}
seznam._seznam[seznam.dolžina@]@ = elem
seznam.dolžina@ += 1
vrni resnica
}
funkcija odstrani(seznam: @Seznam) -> bool {
če seznam.dolžina == 0 {
vrni laž
}
seznam.dolžina@ -= 1
vrni resnica
}
funkcija vzemi(seznam: @Seznam, i: celo) -> celo {
vrni seznam._seznam[i]@
}
natisni(seznam: @Seznam) {
naj dolžina = dolžina(seznam)
za i = 0, i < dolžina - 1, i += 1 {
natisni!(vzemi(seznam, i), ' ')
}
natisni(vzemi(seznam, dolžina - 1))
}
...