Tehtäväsi on toteuttaa listarakenne, jossa voi lisätä tehokkaasti alkion listan alkuun ja loppuun sekä kääntää listan sisällön ympäri.
Toteuta tiedostoon fliplist.py
luokka FlipList
, joka sisältää seuraavat metodit:
add_first(x)
: lisää alkiox
listan alkuunadd_last(x)
: lisää alkiox
listan loppuunflip()
: käännä ympäri listan sisältö
Kaikkien yllä olevien metodin tulee toimia tehokkaasti. Lisäksi metodin __repr__
tulee palauttaa listan sisältö merkkijonona alla olevan esimerkin mukaisesti.
class FlipList: def __init__(self): # TODO def __repr__(self): # TODO def add_first(self, x): # TODO def add_last(self, x): # TODO def flip(self): # TODO if __name__ == "__main__": numbers = FlipList() numbers.add_last(1) numbers.add_last(2) numbers.add_last(3) print(numbers) # [1, 2, 3] numbers.add_first(4) print(numbers) # [4, 1, 2, 3] numbers.flip() print(numbers) # [3, 2, 1, 4] numbers.add_last(5) print(numbers) # [3, 2, 1, 4, 5]