1 stack的實作
實作介面:
init() 用于初始化stack,資料型別為list
size() 用于獲得stack的大小
push() 用于往堆疊中添加元素,添加的元素型別可以是int或者list
top()獲取堆疊頂元素
pop() 彈出并回傳堆疊頂元素
print_stack() 列印堆疊
class Stack(object):def __init__(self):self.len = 0self._stack = []def init(self, init_list):self._stack = init_listself.len = len(init_list)def size(self):return self.lendef push(self, val):if isinstance(val, int):self._stack.append(val)self.len += 1elif isinstance(val, list):self._stack.extend(val)self.len += len(val)else:assert isinstance(val, int) or isinstance(val, list)def top(self):return None if self.len == 0 else self._stack[self.len - 1]def pop(self):if self.len == 0:assert self.len > 0else:self.len -= 1return self._stack.pop()return Nonedef print_stack(self):print('Bottom |', *self._stack, '| Top >')
測驗結果

2 quque的實作
實作介面:
init() 用于初始化佇列,資料型別為list
size() 用于獲得佇列的大小
push() 用于往佇列尾部添加元素,添加的元素型別可以是int或者list
rear()獲取佇列尾部元素
front() 獲取佇列頭部元素
pop() 彈出并回傳佇列頭部元素
print_queue() 列印佇列
class Queue(object):def __init__(self):self.len = 0self._queue = []def init(self, init_list):self._queue = init_listself.len = len(init_list)def size(self):return self.lendef push(self, val):if isinstance(val, int):self._queue.append(val)self.len += 1elif isinstance(val, list):self._queue.extend(val)self.len += len(val)else:assert isinstance(val, int) or isinstance(val, list)def rear(self):return None if self.len == 0 else self._queue[self.len - 1]def front(self):return None if self.len == 0 else self._queue[0]def pop(self):assert self.len > 0self.len -= 1return self._queue.pop(0)def print_queue(self):print('Front |', *self._queue, '| Rear >')
測驗結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/107509.html
標籤:Python
上一篇:Flask-SQLAlchemy
