# klasse som skal holde på verdiene i lenkelisten class Node: def __init__(self, verdi): self.verdi = verdi self.neste = None class Lenkeliste: def __init__(self): self.forste = None self.lengde = 0 # legger til en node først i lenkelisten def leggTil(self, node): if self.lengde > 0: # sparer på lista dersom den finnes node.neste = self.forste self.forste = node # oppdaterer førstepekeren self.lengde += 1 # fjerner den første noden fra lenkelisten def fjern(self): if self.lengde > 0: self.forste = self.forste.neste self.lengde -= 1 else: print("Kan ikke fjerne fra en tom lenkeliste!") def skrivUt(self): """ For å skrive ut innholdet i en lenkeliste er vi nødt til å iterere gjennom lenkelisten. Dette kan vi gjøre ved å starte på den første noden, deretter følge neste-pekerene helt til vi møter en node som ikke finnes (har verdien None). """ ''' # enkel utskrift på formen: 1 2 3 node = self.forste while node is not None: print(node.verdi) node = node.neste ''' # mer "fancy" utskrift på formen: [1 -> 2 -> 3] node = self.forste print("[", end="") while node is not None: print(node.verdi, end="") node = node.neste if node is not None: print(" -> ", end="") print("]") def hovedprogram(): lenkeliste = Lenkeliste() lenkeliste.leggTil(Node(1)) lenkeliste.leggTil(Node(2)) lenkeliste.leggTil(Node(3)) lenkeliste.skrivUt() lenkeliste.fjern() lenkeliste.skrivUt() hovedprogram()