当前位置: 首页 > news >正文

做外贸怎么登陆国外网站如何发布自己做的网站

做外贸怎么登陆国外网站,如何发布自己做的网站,教育咨询,外贸网络营销培训本节讲解的队列与栈,如果你对之前的线性和链式结构顺利掌握了,那么下边的队列和栈就小菜一碟了。因为我们会用前两节讲到的东西来实现队列和栈。 之所以放到一起讲是因为这两个东西很类似,队列是先进先出结构(FIFO, first in first out)&…

本节讲解的队列与栈,如果你对之前的线性和链式结构顺利掌握了,那么下边的队列和栈就小菜一碟了。因为我们会用前两节讲到的东西来实现队列和栈。 之所以放到一起讲是因为这两个东西很类似,队列是先进先出结构(FIFO, first in first out), 栈是后进先出结构(LIFO, last in first out)。

一,队列

队列(Queue)是计算机科学中一种基础的数据结构,它遵循先进先出(First In First Out, FIFO)的原则,即最早进入队列的元素也将是最先离开队列的元素。这个概念类似于现实生活中的排队场景,比如在超市结账,先到达收银台的顾客会先完成结账离开。

1.线式队列

线式队列就是线性表+队列性质组成的数据结构

代码实现

class Array():def __init__(self,size):self.__size = sizeself.__item = [None]*sizeself.__length = 0def __setitem__(self,key,value):self.__item[key] = valueself.__length += 1def __getitem__(self, index):return self.__item[index]def __len__(self):return self.__lengthdef __iter__(self):for value in self.__item:yield valueclass Linear_Queue():def __init__(self,size=4):self.size = sizeself.items = Array(size)self.head = 0self.end = 0def push(self,value):self.items[self.head % self.size] = valueself.head += 1def pop(self):temp = self.items[self.end % self.size]self.end += 1return tempif __name__ == '__main__':lq = Linear_Queue()lq.push(11)lq.push(12)lq.push(13)lq.push(14)print(lq.pop())print(lq.pop())print(lq.pop())print(lq.pop())

2.链式队列

链式队列就是链表+队列性质组成的数据结构

代码实现

class Node():def __init__(self,value=None,prev=None,next=None):self.value = valueself.next = nextself.prev = prevdef __str__(self):return "Node:{}".format(self.value)class DoubleLinkedList():def __init__(self):self.size = 0self.root = Node()self.end = Nonedef append(self,value):node = Node(value=value)#无节点if not self.end:self.root.next = node  # root节点指向新节点node.prev = self.root#新节点指向根节点self.end = node#末节点指针指向新节点#有节点else:self.end.next = node#末节点指向新节点node.prev = self.end  # 新节点指向末节点self.end = node#末节点移动到新节点self.size += 1def append_first(self,value):node = Node(value=value)#无节点if not self.end:self.root.next = node  # root节点指向新节点node.prev = self.root  # 新节点指向根节点self.end = node  # 末节点指针指向新节点else:node.prev = self.root#新节点指向根节点temp = self.root.next#保存原来的第一个节点self.root.next = node#将新节点替换为第一个节点node.next = temp#让新节点的下一个节点为原来的第一个节点temp.prev = node#将原来的第一个节点的上一个节点设置为新节点self.size += 1def __iter__(self):current = self.root.nextif current:while current is not self.end:yield currentcurrent = current.nextreturn currentelse:print("LinkedList is empty")#逆向迭代def inverse_iter(self):current = self.endif current:while current is not self.root:yield currentcurrent = current.prevelse:print("LinkedList is empty")def find(self,value):passdef find_count(self,value):passdef remove_first(self):if self.end:temp = self.root.nextself.root.next = temp.nextif temp.next:temp.next.prev = self.rootreturn tempdef remove_all(self,value):passclass Queue():def __init__(self,size=4):self.items = DoubleLinkedList()self.size = sizeself.length = 0def push(self,value):self.items.append(value)self.size += 1def pop(self):if self.length <= 0:returnself.length -= 1return self.items.remove_first()def empty(self):pass

二,栈 

1.双端队列

from collections import deque# 初始化队列
queue = deque()# 入队操作
queue.append(1)
queue.append(2)
queue.append(3)print("初始队列:", queue)# 出队操作
print("出队元素:", queue.popleft())  # 输出并移除队首元素
print("出队后队列:", queue)# 再次入队
queue.append(4)# 查看队列状态
print("当前队列:", queue)
print("队列长度:", len(queue))

根据双端队列的性质可以模仿出栈的效果(先进后出),其实就是 

from collections import deque
d = deque([1,2,3,4])print(d.pop())print(d.pop())print(d.pop())print(d.pop())

输出结果: 4 3 2 1

这就类似栈的性质,但是这里只是用双端了队列模拟的。 

http://www.yayakq.cn/news/285387/

相关文章:

  • 手机网站模版直播网站app开发
  • 网站建设带后台企业营销图片
  • 帝国cms下载站模板董家渡街道网站建设
  • 关于营销的网站有哪些自己的公网ip可以做网站
  • 网站备案期间做什么网站搭建系统
  • 网站优化要做哪些工作漳州网站建设哪家最正规
  • 买一个网站服务器多少钱口碑好的网站建设商家
  • 网站开发设计的技术免费网站qq抓取
  • 制作个人网站步骤中国室内设计师协会
  • 怎样在门户网站做网络推广中国空间站最新进展
  • 网站不备案做优化游戏币网站怎么做
  • 做网站设计怎么提升个人html网站
  • 河北地矿建设集团官方网站网销平台排名
  • 餐饮网站建设怎么建设的深圳广告公司联系方式电话
  • 做网站美工要学什么北京宏福建设有限公司网站
  • 站长之家网页模板wordpress 不同菜单
  • 农产品网站管理员怎么做西安网站品牌建设
  • 渭南做网站哪家好怎样入门网站开发
  • 个人网站需要多大的网速红番茄 网站点评
  • 做网站自动赚钱吗哪个网站做非洲的生意
  • 多语言企业网站建设费用圣弘建设股份有限公司网站
  • 建站之星vps云服务器免费
  • 山阳网站建设使用的电脑做网站的服务器
  • wordpress做视频网站吗公司网页设计论文题目大全
  • jsp网站开发详解pdf软件开发工程师就业前景
  • 企业网站的建设要注意什么wordpress用户筛选
  • 简洁中文网站模板下载服务器建站
  • 深圳集团网站建设哪家好flash优秀网站
  • 网站建设外出考察信息重庆智能网站建设设计
  • 佛山营销网站西昌网站开发公司