標準ライブラリ 続き2
リスト
STLでlist
っていったら双方向リストなんだ
まあ配列をリストと呼ぶよりは納得できる
dequeがそのまんまで足りてそう
class List():
def __init__(self):
self.l = deque()
def size(self):
return len(self.l)
def __iter__(self):
return iter(self.l)
def push_front(self, x):
self.l.appendleft(x)
def push_back(self, x):
self.l.append(x)
def pop_front(self):
return self.l.popleft()
def pop_back(self):
return self.l.pop()
def insert(self, i, x):
self.l.insert(i, x)
# ない!
# def erase(self, i):
# 代わりに、指定した値の要素を消すのならある
def remove(self, x):
self.l.remove(x)
def clear(self):
self.l.clear()
と思ったらerase
に対応した関数がなかった
双方向リストなら途中の要素を消すのも簡単なはずだけど
deque
の中をいじれないとどうしようもない?