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

哈尔滨市建设工程交易中心网站php网站开发背景

哈尔滨市建设工程交易中心网站,php网站开发背景,做的好的ppt下载网站有哪些,缪斯设计官网将列表当做栈使用 在 Python 中,可以使用列表(list)来实现栈的功能。栈是一种后进先出(LIFO, Last-In-First-Out)数据结构,意味着最后添加的元素最先被移除。列表提供了一些方法,使其非常适合用…

将列表当做栈使用

在 Python 中,可以使用列表(list)来实现栈的功能。栈是一种后进先出(LIFO, Last-In-First-Out)数据结构,意味着最后添加的元素最先被移除。列表提供了一些方法,使其非常适合用于栈操作,特别是 append() 和 pop() 方法。

用 append() 方法可以把一个元素添加到栈顶,用不指定索引的 pop() 方法可以把一个元素从栈顶释放出来。

栈操作

  • 压入(Push): 将一个元素添加到栈的顶端。
  • 弹出(Pop): 移除并返回栈顶元素。
  • 查看栈顶元素(Peek/Top): 返回栈顶元素而不移除它。
  • 检查是否为空(IsEmpty): 检查栈是否为空。
  • 获取栈的大小(Size): 获取栈中元素的数量。

以下是如何在 Python 中使用列表实现这些操作的详细说明:

1、创建一个空栈

stack = []

2、压入(Push)操作

使用 append() 方法将元素添加到栈的顶端:

stack.append(1)
stack.append(2)
stack.append(3)
print(stack)  # 输出: [1, 2, 3]

3、弹出(Pop)操作

使用 pop() 方法移除并返回栈顶元素:

top_element = stack.pop()
print(top_element)  # 输出: 3
print(stack)        # 输出: [1, 2]

4、查看栈顶元素(Peek/Top)

直接访问列表的最后一个元素(不移除):

top_element = stack[-1]
print(top_element)  # 输出: 2

5、检查是否为空(IsEmpty)

检查列表是否为空:

is_empty = len(stack) == 0
print(is_empty)  # 输出: False

6、获取栈的大小(Size)

使用 len() 函数获取栈中元素的数量:

size = len(stack)
print(size)  # 输出: 2

使用列表(Python中的列表[]相当于Java中的数组[])实现栈,完整代码如下: 

"""
使用列表实现栈
"""
class Stack:#构造函数,初始化一个空的列表def __init__(self):self.stack = []#入栈def push(self, item):self.stack.append(item)#出栈def pop(self):if not self.is_empty():return self.stack.pop()else:raise IndexError("POP from empty stack")#栈顶元素def peek(self):if not self.is_empty():return  self.stack[-1]else:raise IndexError("peek from empty stack")#栈是否为空def is_empty(self):return len(self.stack) == 0#栈的大小def size(self):return len(self.stack)if __name__ == '__main__':stack = Stack()stack.push(1)stack.push(2)stack.push(3)stack.push(4)print("栈顶元素:", stack.peek())print("栈大小:", stack.size())print("弹出元素:", stack.pop())print("栈是否为空:", stack.is_empty())print("当前栈大小:", stack.size())

将列表当做队列使用

在 Python 中,列表(list)可以用作队列(queue),但由于列表的特点,直接使用列表来实现队列并不是最优的选择。

队列是一种先进先出(FIFO, First-In-First-Out)的数据结构,意味着最早添加的元素最先被移除。

使用列表时,如果频繁地在列表的开头插入或删除元素,性能会受到影响,因为这些操作的时间复杂度是 O(n)。为了解决这个问题,Python 提供了 collections.deque,它是双端队列,可以在两端高效地添加和删除元素。

使用deque方法来实现队列

from collections import deque
# class Queue:
#     def __init__(self):
#         self.queue = deque()# 空队列
queue = deque()# 向队尾中添加数据
queue.append("a")
queue.append("d")
queue.append("f")
print("队列状态:", queue)# 队首中移除元素
first_element = queue.popleft()
print("移除的元素:", first_element)
print("队列原色:", queue)# 查看队首总原色(不移除)
front_element = queue[0]
print("队首原色:", front_element)# 检查队列是否为空
is_empty = len(queue) == 0
print("队列是否为空:", is_empty)# 获取队列大小
size = len(queue)
print("队列大小是:", size)# if __name__ == '__main__':
#     queue.append()

使用列表来实现队列

class Queues:#1.初始化,创建列表def __init__(self):self.queue = []#2.向队尾添加元素def addqueue(self, item):self.queue.append(item)#3.从队首移除元素def delqueue(self):if not self.is_empty():return self.queue[0]else:raise IndexError("队列为空,无法移除元素!")#4.查看队首元素(不移除)def selectdeque(self):if not self.is_empty():return self.queue[0]else:raise IndexError("队列为空")#5.检查队列是否为空def is_empty(self):return len(self.queue) == 0#6.获取队列大小def size(self):return len(self.queue)# 返回当前队列def traverse(self):return self.queue[::-1]if __name__ == '__main__':queues = Queues()queues.addqueue(1)queues.addqueue(2)queues.addqueue(3)queues.addqueue(4)queue = queues.traverse()print("当前的队列:", queue)# print("当前队列的大小:", queue.s)is_empty = queues.is_empty()print("当前队列是否为空", is_empty)front_deque = queues.selectdeque()print("队列首位元素:", front_deque)first_queue = queues.delqueue()print("队列当前状态:", first_queue)

http://www.dtcms.com/wzjs/534131.html

相关文章:

  • 网站建设扌金手指六六seo外链优化策略
  • 佛山外贸网站建设行情广州网站备案拍照
  • 商标可以做网站吗靖宇东兴自助建站
  • 中山网站制作系统wordpress建站seo
  • 国外免费注册域名的网站建立网站需要哪些东西
  • 长春网站建设方案推广crm系统是什么
  • 学校网站开发协议四川网站建设哪家专业
  • 免费的ai素材网站扬中网站优化
  • 中堂做网站椒江设计公司
  • 网站设计公司网页设计没有备案的网站怎么访问
  • 企业网站源码安装教程网站建设后端前端
  • 公司想制作网站吗淘宝客网站推广怎么做
  • 网站建设宝典长沙多用户商城网站建设
  • 网站模板是怎么制作昆明做网站做的好的公司有哪些
  • 网站开发文件上传到服务器颖灵信息科技网站建设
  • 中国做的网站国外能打开吗十大免费货源网址
  • 官方网站建设哪家公司好软件开发文档规范
  • 网站域名哪看神华集团两学一做网站
  • flash建网站教程网站 空间 服务器 免费
  • 做网站有地区差异吗什么是网络营销评价
  • 企业网站建设设计方案响应式网站建设定制
  • 做图文链接网站米拓cms建站系统
  • 福州网站建设外包学校资源网站建设方案
  • 宿州哪家做网站不做网络传媒公司名字
  • 乐清公司做网站做网站要会哪些软件
  • 资讯网站策划怎么写如何创建目录wordpress
  • 网站没有百度快照wordpress插件下载排行
  • 网页微信版登录长沙官网优化推广
  • 宝安建网站外包0735郴州网
  • 做网站北京公司临邑网站制作