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

【Python】利用函数模拟创建【栈】的数据结构操作

知识解读:来自:https://fishc.com.cn
[=#FwSB,M 9xKOA!^6fP)_EC(ns`d
什么是栈呢?Powered by https://fishc.com.cn
3>A?5JXL#_`}YBGD"FWdubKeyhQ'P
栈是一种具有 FILO 特性的数据结构,即先放入的数据反而后取出。e&"%'
b0ql5{)2SORTV^[#~<NXtdZ|QM%
比如有依次放入数据 250、251、255 到栈中,那么它们在栈中的存储结构如下:|pPCTFOS
"1qKL}>@=HZ`ksicJtSYU[RV
255
251
250
D#08_S~}kO;FJum"$=[M7?!)`x<
此时,执行取出命令(pop),应该将最后压入栈的 255 优先取出,取出后栈中内容如下:FR+25o}
?gCiEU_Tx%kz"#l|0L;Q
251
250
WAYSD6'aE7j5,9|bI}B0
同样道理,如果我们执行压栈命令(push),将数据 520 压入栈中,那么执行后,栈中内容如下: E-mJ?cF=P
m$WEgfOM!Nk&_Ts}0QBD ,v1K[
520
251
250
]Y&*S;Ul0#5u"ZrgjT+1XBGF
题目要求:将压栈命令(push)、取出命令(pop)和打印栈的功能分别封装为独立的函数。

 

def print_s(s):print("栈:")for each in s[::-1]:print(each)def push_s(s, v):s.append(v)def pop_s(s):if len(s) == 0:return 0else:return s.pop()s = []ins = ""while ins != "exit":ins = input("请输入指令(push/pop/top/exit):")if ins == "push":v = input("请输入将要压入栈中的值:")push_s(s, v)print_s(s)if ins == "pop":v = pop_s(s)if v == 0:print("栈已空~")else:print(v)print_s(s)if ins == "top":if len(s) == 0:print("栈已空~")else:print(s[-1])

相关文章:

【Python】利用函数模拟创建【栈】的数据结构操作

知识解读&#xff1a;来自&#xff1a;https://fishc.com.cn[#FwSB,M 9xKOA!^6fP)_EC(nsd什么是栈呢&#xff1f;Powered by https://fishc.com.cn3>A?5JXL#_}YBGD"FWdubKeyhQP栈是一种具有 FILO 特性的数据结构&#xff0c;即先放入的数据反而后取出。e&"%b…...

10 JVM内置锁

我们先想明白一个问题&#xff0c;什么是锁&#xff1f; 我们去给自己家锁门的时候&#xff0c;只有对应的一把钥匙能开锁。当用钥匙去开锁的时候&#xff0c;锁孔的内置型号会验证钥匙能不能对的上。能对上就能把锁打开&#xff0c;然后进到家里使用家里的资源。否则就在外面等…...

前端项目部署方法

ngnix服务器部署 下载nignx&#xff0c;我下的是windows版本的 下载链接&#xff1a;[https://nginx.org/en/download.html](https://nginx.org/en/download.html) 解压文件 如果原本的80端口号被占用了&#xff0c;可以改为其他的端口号 可以点击nginx.exe文件启动nginx,它可能…...

【1.排序】

排序 笔记记录 1.排序的基本概念1.1 排序的定义 2. 插入排序2.1 直接插入排序2.2 折半插入排序2.3 希尔排序 3. 交换排序3.1 冒泡排序3.2 快速排序 4. 选择排序4.1 简单选择排序4.2 堆排序 5. 归并排序、基数排序和计数排序5.1 归并排序4.2 基数排序4.3 计数排序 6. 各种内部排…...

visual studio添加滚动条预览

如何在vs中添加如图的滚动条呢&#xff1f; 打开VS 工具栏 选项 - 文本编辑器 - C/C - 滚动条 行为-使用缩略图 -- 确定...

[SAP ABAP] ALV状态栏GUI STATUS的快速创建

使用事务码SE38进入到指定程序&#xff0c;点击"显示对象列表"按钮 鼠标右键&#xff0c;选择"GUI状态" 弹出【创建状态】窗口&#xff0c;填写状态以及短文本描述以后&#xff0c;点击按钮 点击"调整模板"&#xff0c;复制已有程序的状态栏 填…...

鸿蒙元服务项目实战:备忘录UI页面开发

前言 之前写过一篇关于元服务项目的上架流程&#xff0c;为了更好的了解及开发元服务&#xff0c;准备从0到1简单开发一个小项目&#xff0c;也希望能够帮助到刚刚介入到鸿蒙开发的同学&#xff0c;具体项目呢&#xff0c;也是十分的简单&#xff0c;就是一个小巧的备忘录项目&…...

【Java基础面试题022】什么是Java内部类?有什么作用?

回答重点 Java内部类是指&#xff1a;在一个类的内部定义的类&#xff0c;Java支持多种类型的内部类&#xff0c;包括成员内部类、局部内部类、匿名内部类和静态内部类。实际上内部类是一个编译层面的概念&#xff0c;像一个语法糖一样&#xff0c;经过编译器之后其实内部类会…...

量子芯片在新医疗领域的应用研究展望

一、引言 &#xff08;一&#xff09;研究背景 随着科技的不断发展&#xff0c;量子芯片在新医疗领域有望在多个技术方面实现创新突破&#xff0c;进而持续拓展其应用范围与深度。 在提高纠错能力方面&#xff0c;当前量子比特的易错性是制约量子芯片广泛应用的关键因素之一…...

不可重入锁与死锁

不可重入锁确实可能导致死锁&#xff0c;特别是在同一线程尝试多次获取同一把锁时。如果锁是不可重入的&#xff0c;那么线程在第二次尝试获取锁时会永远阻塞&#xff0c;从而导致死锁。 不可重入锁与死锁的关系 不可重入锁不允许同一个线程多次获取同一把锁。在以下情况下&am…...

Linux(Ubuntu)命令大全——已分类整理,学习、查看更加方便直观!(2024年最新编制)

Hello! 认真好学的小伙伴们&#xff0c;大家好呀&#xff08;Respect~&#xff09;&#xff01;我是 H u a z z i Huazzi Huazzi&#xff0c;欢迎观看本篇博客&#xff0c;接下来让我们一起来学习 Ubuntu命令大全 吧&#xff01;祝你有所收获&#xff01; 文章目录 前言&#x…...

画一颗随机数

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>codePen - Random Tree</title> </head> <body><canvas></canvas><script>const canvas doc…...

机器人变换关系

rigid 刚性变换&#xff08;平移、旋转&#xff09;&#xff1a; 只改变位置和方向&#xff0c;拥有6个自由度&#xff0c;保持变换物体的形状。 affine 仿射变换&#xff08;平移、旋转、缩放、倾斜等&#xff09;&#xff1a; 改变物体形状、位置、方向&#xff0c;拥有12…...

2024年企业中生成式 AI 的现状报告

从试点到生产&#xff0c;企业 AI 格局正在被实时改写。我们对 600 名美国企业 IT 决策者进行了调查&#xff0c;以揭示新兴的赢家和输家。 从试点到生产 2024 年标志着生成性人工智能成为企业关键任务的一年。这些数字讲述了一个戏剧性的故事&#xff1a;今年人工智能支出飙升…...

共创共建!葡萄城 SpreadJS 完成 HarmonyOS NEXT 操作系统兼容认证

最新技术资源&#xff08;建议收藏&#xff09; https://www.grapecity.com.cn/resources/ 近日&#xff0c;华为“企业工作必备应用鸿蒙化论坛”在北京圆满落幕&#xff0c;论坛汇聚了众多行业精英和合作伙伴&#xff0c;聚焦讨论企业数字化转型与原生鸿蒙生态融合等话题。葡萄…...

webAPI clean architecture

文章目录 项目地址一、Restaurants.Domain 核心业务层1.1 Entities实体层1.2 Repositories 数据操作EF的接口二、Restaurants.Infrastructure 基础设施层2.1 Persistence 数据EF CORE配置2.2 Repositories 数据查询实现2.3 Extensions 服务注册三、Restaurants.Application用例…...

JS使用random随机数实现简单的四则算数验证

1.效果图 2.代码实现 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</ti…...

在Linux中使用`scp`进行远程目录文件复制

在Linux系统中&#xff0c;scp&#xff08;安全复制协议&#xff09;是一个使用SSH&#xff08;安全外壳协议&#xff09;进行文件和目录安全传输的命令。它允许在远程主机之间复制文件和目录&#xff0c;具有很强的安全性&#xff0c;是一种常用的文件传输工具。以下是如何使用…...

【C++游记】string的使用和模拟实现

枫の个人主页 你不能改变过去&#xff0c;但你可以改变未来 算法/C/数据结构/C Hello&#xff0c;这里是小枫。C语言与数据结构和算法初阶两个板块都更新完毕&#xff0c;我们继续来学习C的内容呀。C是接近底层有比较经典的语言&#xff0c;因此学习起来注定枯燥无味&#xf…...

解决Linux访问HuggingFace的问题(操作记录)

目录 一、软件下载 二、软件使用 1、启动软件 2、设置网络 3、注意事项 三、linux命令行访问 1、问题分析 2、设置命令行代理 一、软件下载 MrQiguan/cfw-linux 二、软件使用 1、启动软件 ./cfw 注&#xff1a;先选择节点&#xff0c;再开启Start with Linux&#…...

《向量数据库指南》——Milvus Cloud 2.5:Sparse-BM25引领全文检索新时代

Milvus Cloud BM25:重塑全文检索的未来 在最新的Milvus Cloud 2.5版本中,我们自豪地引入了“全新”的全文检索能力,这一创新不仅巩固了Milvus Cloud在向量数据库领域的领先地位,更为用户提供了前所未有的灵活性和效率。作为大禹智库的向量数据库高级研究员,以及《向量数据…...

verilog+systemVerilog写代码bug总结

前言 此文用来记录我在写verilog项目时遇到的bug,方便回顾&#xff0c;也供大家参考。 语言&#xff1a;verilog、systemverilog 平台&#xff1a;vivado 2021.01 bug记录和解决 如何让计数从0开始&#xff0c;而不是从1开始&#xff1f; 情景描述&#xff1a;我现在要实现…...

【Java基础面试题014】for循环与增强for的区别是什么?

回答重点 for for是一种传统的循环结构&#xff0c;允许开发者控制循环的初始值&#xff0c;终止条件和步进方式 主要特点&#xff1a; 灵活性&#xff1a;可以控制循环的初始值、终止条件和步进方式使用于数组&#xff1a;可以通过索引访问&#xff0c;使用索引进行反向遍…...

2412d,d的8月会议

原文 总结 替换D的逃逸分析 Rikki说,他一个月前曾与Dennis讨论过简化D的逃逸分析,但没有结果.在BeerConf上,他再次提起了它,Dennis说他一直在考虑它. Rikki也与Walter谈过这件事,Walter曾说过DIP1000并没有完全如期工作,且有点太复杂了. 因此,Rikki想讨论按D逃逸分析方法替…...

如何在Qt中应用html美化控件

在Qt中应用HTML美化控件&#xff0c;主要可以通过以下几种方式&#xff1a; 使用QWebEngineView&#xff1a;QWebEngineView是基于Chromium引擎的控件&#xff0c;用于显示和交互HTML内容。它支持现代Web标准和技术&#xff0c;如HTML5、CSS3和JavaScript。你可以通过以下步骤…...

vue3实现商城系统详情页(前端实现)

目录 写在前面 预览 实现 图片部分 详情部分 代码 源码地址 总结 写在前面 笔者不是上一个月毕业了么&#xff1f;找工作没找到&#xff0c;准备在家躺平两个月。正好整理一下当时的毕业设计&#xff0c;是一个商城系统。还是写篇文章记录下吧 预览 商品图片切换显示…...

[Pro Git#4] 标签 | 理解 | 创建 | push

目录 一、理解标签 二、创建标签 三、操作标签 一、理解标签 标签定义&#xff1a;在Git中&#xff0c;标签&#xff08;tag&#xff09;是对某次提交&#xff08;commit&#xff09;的一个标识&#xff0c;相当于起了一个别名。应用场景示例&#xff1a; 在项目发布某个版…...

在M系列芯片的Mac上使用Uniapp开发的依赖安装指南

在M系列芯片的Mac上使用Uniapp开发的依赖安装指南 在基于M系列芯片&#xff08;例如M3、M4&#xff09;的Mac上进行Uniapp开发时&#xff0c;使用esbuild和rollup等依赖包时需要注意处理不同架构的支持。具体问题出现在darwin-arm64&#xff08;ARM架构&#xff09;和darwin-x…...

delve调试环境搭建—golang

原文地址&#xff1a;delve调试环境搭建—golang – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 由于平时不用 IDE 开发环境&#xff0c;习惯在 linux终端vim 环境下开发&#xff0c;所以找了golang的调试工具&#xff0c;delve类似gdb的调试界…...

暂停一下,给Next.js项目配置一下ESLint(Next+tailwind项目)

前提 之前开自己的GitHub项目&#xff0c;想着不是团队项目&#xff0c;偷懒没有配置eslint&#xff0c;后面发现还是不行。eslint的存在可以帮助我们规范代码格式&#xff0c;同时 ctrl s保存立即调整代码格式是真的很爽。 除此之外&#xff0c;团队使用eslint也是好处颇多…...

vscode 使用说明

文章目录 1、文档2、技巧显示与搜索宏定义和包含头文件 3、插件4、智能编写5、VSCode 与 C&#xff08;1&#xff09;安装&#xff08;2&#xff09;调试&#xff08;a&#xff09;使用 CMake 进行跨平台编译与调试&#xff08;b&#xff09;launch.json&#xff08;c&#xff…...

单片机:实现蜂鸣器数码管的显示(附带源码)

单片机实现蜂鸣器数码管显示 蜂鸣器和数码管在嵌入式系统中广泛应用。蜂鸣器可以发出声音警告或提示&#xff0c;而数码管则用于显示数字或字母。在本项目中&#xff0c;我们将通过8051单片机实现一个控制蜂鸣器和数码管显示的系统&#xff0c;结合使用蜂鸣器和数码管&#xf…...

Next.js v15-基于NextAuth进行身份验证

NextAuth.js 抽象化了管理会话、登录和注销以及身份验证的其他方面所涉及的大部分复杂性操作。虽然您可以手动实现这些功能&#xff0c;但该过程可能非常耗时且容易出错。NextAuth.js简化了流程&#xff0c;为 Next.js 应用程序中的身份验证提供了统一的解决方案。 步骤 通过…...

解锁Vue组件的奇妙世界

文章目录 一、Vue 组件概述&#xff08;一&#xff09;什么是 Vue 组件&#xff08;二&#xff09;Vue 组件的优点 二、Vue 组件的创建方式&#xff08;一&#xff09;全局注册&#xff08;二&#xff09;局部注册&#xff08;三&#xff09;单文件组件&#xff08;SFC&#xf…...

二分查找【Lecode_HOT100】

文章目录 1.搜索插入位置No.352.搜索二维矩阵No.743.在排序数组中查找元素的第一个和最后一个位置No.344.搜索旋转排序数组No.335.寻找旋转排序数组中的最小值No.153 1.搜索插入位置No.35 class Solution {public int searchInsert(int[] nums, int target) {int l 0;int r n…...

解决git clone时报错“authentication failed for huggingface repository”

问题1&#xff1a; 已经获取了模型的授权&#xff0c;但是git clone时&#xff0c;弹出弹窗 输入huggingface的用户名和密码后&#xff0c;报错如下 解决方式1&#xff1a; 阅读红框标注的说明&#xff0c;“password authentication in git is no longer supported.”&#…...

力扣-图论-16【算法学习day.66】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…...

【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题分析

【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题 情况实验结论情况 在用GL-SFT1200路由器切换中继模式时,由于web密码忘却,需要重置,但根据官网使用手册,或者对应的中文版手册,重置失败。通过跟商家联系,进行uboot刷机,提供了指导文档,尝试后刷机成功…...

LeetCode 热题 100_K 个一组翻转链表(31_25_困难_C++)(四指针法)

LeetCode 热题 100_K 个一组翻转链表&#xff08;31_25&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;四指针法&#xff09;&#xff1a; 代码实现代码实现&#xff08;思路一&#xff08;四指针法&#x…...

【LeetCode】35.搜索插入位置

目录 LeetCode35.搜索插入位置题解解题思路code1 暴力解法2 二分查找什么是二分查找&#xff1f;二分查找的原理二分查找图解二分查找的优缺点……更新中 LeetCode35.搜索插入位置题解 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如…...

拿到小米 Offer,却迷茫了。。

大家好&#xff0c;我是程序员鱼皮&#xff0c;12 月了&#xff0c;很多小伙伴也拿到了秋招的 Offer&#xff08;没拿到也不要灰心&#xff09;&#xff0c;但即使拿到 Offer&#xff0c;可能还会有一些其他的顾虑。今天分享我们编程导航一位鱼友的提问&#xff0c;给大家作为学…...

redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip

redis集群 服务器更换ip&#xff0c;怎么办&#xff0c;怎么更换redis集群的ip 1、安装redis三主三从集群2、正常状态的redis集群3、更改redis集群服务器的ip 重启服务器 集群会down4、更改redis集群服务器的ip 重启服务器 集群down的原因5、更改redis集群服务器的ip后&#xf…...

运行 Mongodb Server

如何使用 mongod 命令通过配置文件启动 MongoDB Server 适用于通过 Homebrew 安装的 MongoDB Server 如果您的 MongoDB Server 是通过 Homebrew 安装的&#xff0c;则安装过程中会自动创建必要的文件夹和配置文件&#xff08;如 mongod.conf&#xff09;。您可以直接使用以下…...

“年轻科技旗舰”爱玛A7 Plus正式发布,全国售价4999元

12月18日&#xff0c;备受行业瞩目的“A7上场 一路超神”爱玛旗舰新品发布会在爱玛台州智造工厂盛大举行。 作为年末“压轴产品”的“两轮豪华轿跑”爱玛A7Plus重磅上场&#xff0c;以“快、稳、帅、炫、智、爽”六大超神技惊艳四座&#xff0c;不仅践行了爱玛科技的精品战略&…...

深入探索 C++ 编程技巧:从案例中学习高效实践

深入探索 C 编程技巧&#xff1a;从案例中学习高效实践 C 是一门功能强大且灵活的编程语言&#xff0c;被广泛应用于系统开发、高性能计算、游戏引擎等领域。然而&#xff0c;初学者和有经验的开发者常常会在代码优化、设计模式和语言特性中面临挑战。这篇文章将通过实际案例&…...

鸿蒙操作系统简介

华为鸿蒙系统&#xff08;HUAWEI HarmonyOS&#xff09;&#xff0c;是华为公司于2019年8月9日在东莞举行的华为开发者大会&#xff08;HDC.2019&#xff09;上正式发布的面向全场景的分布式操作系统&#xff0c;可以创造一个超级虚拟终端互联的世界&#xff0c;将人、设备、场…...

LabVIEW起落架震台检测

在现代飞机制造与维护过程中&#xff0c;起落架的性能测试是保障飞机安全的重要环节。通过LabVIEW开发的起落架小落震台检测系统&#xff0c;通过模拟飞机着陆过程&#xff0c;准确捕捉起落架在着陆时承受的各种动力学特性和应力响应&#xff0c;有效提升起落架设计的精度与可靠…...

git remote -v(--verbose)显示你的 Git 仓库配置的远程仓库的详细信息

git remote -v 是一个 Git 命令&#xff0c;用于显示你的 Git 仓库配置的远程仓库的详细信息。 当你执行 git remote -v 命令时&#xff0c;你会看到类似以下的输出&#xff1a; origin https://github.com/your-username/your-repo.git (fetch) origin https://github.com…...

Java基础知识(四) -- 面向对象(中)

1.包 1.3.1 包的作用 &#xff08;1&#xff09;可以避免类重名&#xff1a;有了包之后&#xff0c;类的全名称就变为&#xff1a;包.类名【便于使用】&#xff08;2&#xff09;分类组织管理众多的类【便于管理类】&#xff08;3&#xff09;可以控制某些类型或成员的可见范…...

RAG开发中,如何用Milvus 2.5 BM25算法实现混合搜索

01. 背景 混合搜索(Hybrid Search)作为RAG应用中Retrieve重要的一环&#xff0c;通常指的是将向量搜索与基于关键词的搜索&#xff08;全文检索&#xff09;相结合&#xff0c;并使用RRF算法合并、并重排两种不同检索的结果&#xff0c;最终来提高数据的召回率。全文检索与语义…...