因为这几天工作也挺忙的,一直忘记把自学第三天的内容给发布,这也离他的上篇发布有5天时间了,我今天也就简单完善的发布一下吧!!!至于我一个为啥又在自学python呢???首先声明,我也不是为了卷,什么卷天卷地卷死你了,,,想了解具体原因呢???请移驾上篇!!!
class Queue(object): def __init__(self): #初始化空队列 self.list = [] def push(self,item): #入队 self.list.append(item) #尾进 # self.list.insert(0,item) #头进 def pop(self): #出队 # return self.list.pop(0) #头出 return self.list.pop() #尾出 def is_empty(self): # 判断是否为空 return self.list == [] def size(self): # 判断长度 return len(self.list) def __str__(self): #遍历所有队列当中的队员 return "队员(%r)" % self.lists = Queue()print("入队前为空???:",s.is_empty())s.push("西施")s.push("貂蝉")s.push("昭君")s.push("玉环")print('入队之后的长度:', s.size())print(s.pop())print('出队之后的长度:', s.size())print("入队后为空???:",s.is_empty())print(s)
还是老样子,使用最便捷的方式,代码也不难理解,(也是boss最不认同的方式,说这样习惯用原生的方法会影响代码自己编程的质量,代码越写越差什么的,咱也怼不过,只能服从去从数据的结构入手,那么自定义链表节点的方式它来了)
class Node(object): ##节点,包括两个属性,一个是节点的值,一个是节点的下一个指向 def __init__(self,value): self.value = value #赋值给节点 self.next = None #节点的下一个指向class Queue: #初始化队列,默认队列大小6, 先入先出 def __init__(self): self.first = None self.last = None def put(self,element): #先入队 packNode = Node(element) if self.first == None: self.first = packNode self.last = packNode else: self.last.next = packNode self.last = packNode def get(self): #先出队 if self.first == None: return None elif self.first == self.last: tmp = self.first.value self.first, self.last = self.first.next, self.first.next return tmp else: tmp = self.first.value self.first = self.first.next return tmp def empty(self): self.list=[]s = Queue()el = ["西施","貂蝉","昭君","玉环"]for n in el: s.put(n)print("队列首元素:",s.first.value)print("队列尾元素:",s.last.value)# print("当前队列的元素:",s.list)print("正在移出队列的是:",s.get())# print("当前队列的元素:",s.list)
不知各位看的咋样???我也不再过多啰嗦了,自我感觉我写的知识挺全乎的,应该!大概!!可能不难理解吧!!!上篇:python实现栈