Tehtäväsi on toteuttaa oma tehokas lista-tietorakenne, joka tarjoaa seuraavat toiminnot:
- Poista listalta listan ensimmäistä alkiota ja siirrä ne samassa järjestyksessä listan loppuun
- Ilmoita, mikä alkio listalta löytyy indeksiltä
Tietorakenteen jokaisen operaation tulee olla -aikainen. Voit olettaa, että jokainen alkio on kokonaisluku väliltä .
Toteuta tiedostoon quicklist.py
luokka QuickList
seuraavan mallin mukaisesti.
class QuickList: def __init__(self, t): # TODO def move(self, k): # TODO def get(self, i): # TODO if __name__ == "__main__": q = QuickList([1,2,3,4,5,6,7,8,9,10]) print(q.get(4)) # 5 q.move(3) print(q.get(4)) # 8 q.move(3) print(q.get(4)) # 1 q.move(10) print(q.get(4)) # 1 q.move(7) q.move(5) print(q.get(0)) # 9
Selitys Listan sisältö käyttäytyy koodipohjassa näin:
move(3)
move(3)
move(10)
move(7)
move(5)