详细实现代码请查看
栈又称堆栈,它是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算。
- 顺序栈
栈的python实现代码
class stack():def __init__(self):self.stack = []def empty(self):return self.stack==[]def push(self,data):self.stack.append(data)def pop(self):pty():return None;else:return self.stack.pop(-1)def top(self):pty():return Noneelse:return self.stack[-1]def length(self):return len(self.stack)
队列也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入(队尾),在表的另一端进行删除(队首)。
图片展示的很详细,为了区分队空和队满,我们采取少用一个元素空间,约定以“对头指针在队尾指针的下一位置(指环状的下一位置)上”作为队列满状态的标志。
队列的Python实现
class queue():def __init__(self):self.queue = []def empty(self):return self.queue == []def enqueue(self,data):self.queue.append(data)def dequeue(self):pty():return Noneelse:return self.queue.pop(0)def head(self):pty():return Noneelse:return self.queue[0]def length(self):return len(self.queue)
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 8 11:00:28 2017@author: liang
"""def detection(array):list_array=[] #存放数据的栈#删除无关符符号temp=list(array)for i in temp: if i is '(' or i is ')' or i is '{' or i is '}' or i is '[' or i is ']':print('输入符合规范')ve(i)print('删除不符合规范字符:',i)#进行括号检测array_re=tempfor i in array_re: list_array.append(i) if i is '}' and len(list_array) !=0 and list_array[-1]=='{':list_array.pop()print('pop',i)if i is ')' and len(list_array) !=0 and list_array[-1]=='(':list_array.pop()print('pop',i)if i is ']' and len(list_array) !=0 and list_array[-1]=='[':list_array.pop()print('pop',i)if len(list_array)==0:print('匹配成功')else:print('匹配失败')
detection(')()))')
本文发布于:2024-02-01 02:00:31,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170672403133036.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |