教育网站建设策划书/郑州seo网站关键词优化
东阳的学习记录
文章目录
- 栈的特点
- 栈的实现
- 队列
- 队列的特点
- 队列实现
- 双端队列
- 双端队列的实现
栈的特点
- 先进后出
栈的实现
- Stack() 创建一个新的空栈
- push(item) 添加一个新的元素item到栈顶
- pop() 弹出栈顶元素
- peek() 返回栈顶元素
- is_empty() 判断栈是否为空
- size() 返回栈的元素个数
class Stack(object):"""栈"""def __init__(self):self.items = []def is_empty(self):"""判断是否为空"""return self.items == []def push(self, item):"""加入元素"""self.items.append(item)def pop(self):"""弹出元素"""return self.items.pop()def peek(self):"""返回栈顶元素"""return self.items[len(self.items)-1]def size(self):"""返回栈的大小"""return len(self.items)
队列
队列的特点
- 先进先出
队列实现
- Queue() 创建一个空的队列
- enqueue(item) 往队列中添加一个item元素
- dequeue() 从队列头部删除一个元素
- is_empty() 判断一个队列是否为空
- size() 返回队列的大小
class Queue(object):"""队列"""def __init__(self):self.items = []def is_empty(self):return self.items == []def enqueue(self, item):"""进队列"""self.items.insert(0,item)def dequeue(self):"""出队列"""return self.items.pop()def size(self):"""返回大小"""return len(self.items)
双端队列
双端队列是两端都允许入队和出队操作的队列。
双端队列的实现
- Deque() 创建一个空的双端队列
- add_front(item) 从队头加入一个item元素
- add_rear(item) 从队尾加入一个item元素
- remove_front() 从队头删除一个item元素
- remove_rear() 从队尾删除一个item元素
- is_empty() 判断双端队列是否为空
- size() 返回队列的大小
class Deque():def __init__(self):self.items = []def is_empty(self):return self.items.is_empty()def add_front(self, item):self.items.insert(0,item)def add_rear(self, item):self.items.append(item)def remove_front(self):return self.items.pop(0)def remove_rear(self):return self.items.pop()def size(self):return len(self.items)