自定義實現棧的功能

棧的定義:棧是一個數據集合,我們可以吧它理解為是一個只能在一端進行插入或者刪除的列表。
棧的特點:先進后出
  • Stack() 建立一個空的棧對象
  • push() 吧一個元素添加到棧的最頂層
  • pop() 刪除棧最頂層的元素,并返回這個元素
  • gettop() 取棧頂元素
  • isEmpty() 判斷棧是否為空
  • size() 返回棧中元素的個數
  • peek() 返回最頂層的元素,并不刪除它
class Stack:'''模擬棧'''def __init__(self):self.items = []def isEmpty(self):'''判斷是否棧空'''return len(self.items) ==0  #返回是布爾值,不成立就返回False,成立就返回Truedef push(self,item):'''往棧里面添加元素'''self.items.append(item)def pop(self):'''刪除棧最頂層的元素,并返回'''return self.items.pop()def peek(self):'''返回棧頂元素,并不刪除它'''if not self.isEmpty():return self.items[len(self.items)-1]  #返回棧頂元素def size(self):'''返回棧中元素的個數'''return len(self.items)# ==========對自定義棧的使用==================
s = Stack()
print(s.isEmpty())  #True
s.push('one')
s.push('two')
print(s.peek())  # two
s.push('three')
print(s.size()) # 3
print(s.isEmpty()) # False
s.push(111111)
print(s.pop())
print(s.pop())
print(s.size())

?





本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539420.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539420.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539420.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mybatis循環map的一些技巧

<foreach>標簽的用法&#xff1a; 六個參數&#xff1a; collection&#xff1a;要循環的集合 index&#xff1a;循環索引&#xff08;不知道啥用。。&#xff09; item&#xff1a;集合中的一個元素&#xff08;item和collection&#xff0c;按foreach循環理解&#xff…

linux部署node web,nodejs怎么部署到Linux上?

nodejs怎么部署到Linux上&#xff1f;下面本篇文章就來給大家介紹一下在Linux上部署nodejs的方法&#xff0c;希望對大家有所幫助。nodejs部署到Linux上的方法如下&#xff1a;(建議先安裝xshell和xftp)1、到nodejs官網下載壓縮包(選擇合適自己系統的版本)&#xff0c;放到Linu…

python樹莓派 是什么_用樹莓派和Python給你的植物澆水

我想指出&#xff0c;我絕不是電子學專家。如果你讓我制作一個電路圖或者解釋某件電子產品工作原理的細節&#xff0c;我會一無所知。在生活中&#xff0c;我對電力的工作原理有了基本的了解&#xff0c;我只是胡亂擺弄了一下電子元件就完成了這個工程。話雖如此&#xff0c;當…

htmlspecialchars() 函數過濾XSS的問題

htmlspecialchars()函數的功能如下&#xff1a; htmlspecialchars() 函數把預定義的字符轉換為 HTML 實體。 預定義的字符是&#xff1a; & &#xff08;和號&#xff09;成為 &" &#xff08;雙引號&#xff09;成為 " &#xff08;單引號&#xff09;成為 …

c語言中 字母對應的數值,C語言編程:求下式中每個字母所代表的數字

編寫程序求解下式中各字母所代表的數字&#xff0c;不同的字母代表不同的數字。PEAR- ARA PEA*問題分析與算法設計類似的問題從計算機算法的角度來說是比較簡單的&#xff0c;可以采用最常見的窮舉方法解決。程序中采用循環窮舉每個字母所可能代表的數字&#xff0c;然后將字母…

用mac的python寫網絡爬蟲_在mac下使用python抓取數據

2015已經過去&#xff0c;這是2016的第一篇博文&#xff01; 祝大家新年快樂&#xff01; 但是我還有好多期末考試&#xff01; 還沒開始復習&#xff0c;唉&#xff0c;一把辛酸淚&#xff01; 最近看了一遍彥祖的文章叫做 所以自己也想小試牛刀.于是便開始動手寫,但初次接觸,…

運輸配送信息Delivery_Information

為什么80%的碼農都做不了架構師&#xff1f;>>> 運輸配送信息Delivery_Information 金銀倉會選用以下運輸公司&#xff0c;為客戶配送磁磚傢俬潔具&#xff1a; 佛山冠昌達中港運輸&#xff08;散貨或包車&#xff0c;近佛山石灣的磁磚倉庫&#xff0c;近樂從傢俬城…

linux的 dev vdal,RAZVOJ DELA NA DALJAVO V SLOVENIJI

摘要&#xff1a;V diplomskem delu bomo raziskovali razvoj dela na daljavo v Sloveniji. Na? poglavitni cilj je prikazati ?irjenje teledela v Sloveniji. Drugod po Evropi se ?e vrsto let uveljavlja tudi ta vrsta opravljanja dela, pri nas pa manj. O tem lah…

Spring+SpringMVC+Mybatis 多數據源整合

原文地址&#xff1a;http://blog.csdn.net/q908555281/article/details/50316137 ----------------------------------- 此篇文章是基于Spring3.0和mybatis3.2的總體大概流程 &#xff1a;1. 拷貝所需jar 2.寫一個數據庫切換的工具類&#xff1a;DataSourceContextHolder&am…

查看mysql sql執行器優化后的sql

EXPLAIN EXTENDED select s.* from student s where s.sid in ( select sid from sc where sc.cid 0 and sc.score 100); show WARNINGS;

git ssh拉取代碼_win10下git初始安裝及配置工作

git安裝從https://git-scm.com/https://git-scm.com/download/win 中下載安裝包&#xff0c;點擊exe文件運行&#xff0c;選擇安裝路徑即可安裝。git配置初次運行git前的配置&#xff0c;新建文件夾1、 新建一個文件夾&#xff0c;用來存放代碼的文件夾---2、 打開文件夾&#…

用ABAP 生成二維碼 QR Code

除了使用我的這篇blogStep by step to create QRCode in ABAP Webdynpro提到的使用ABAP webdynpro生成二維碼之外&#xff0c;也可以通過使用二維碼在線生成網站提供的service來生成二維碼。 二維碼在線生成網站&#xff1a; www.makepic.com/qrcode.php 在網頁上輸入要生成的二…

c語言不用第三變量,C語言中幾種不用第三變量交換兩值的方法

int main(){int a3,b4;int *p(int *)malloc(sizeof(int));*p3;int *q(int *)malloc(sizeof(int));*q4;int a24,b27;printf("***位運算****/n");printf("轉換前&#xff1a;%d %d/n",a,b);a^b^a^b;printf("轉換后&#xff1a;%d %d/n",a,b);print…

聯想m7400pro清零方法_聯想打印機怎么清零 聯想打印機清零方法【教程】

今天小編為讀者挑選出了聯想 打印機 部分機型的清零方式&#xff0c;希望閱讀完這篇文章能幫助到各位。LJ3010A、LJ3116A、LJ3220A清零方式先點擊控制面板上的“聯機”按鈕&#xff0c;讓打印機處于脫機狀態&#xff0c;再點擊“執行”按鈕進行打印。先點擊控制面板上的“聯機”…

mapperLocations屬性通配符的使用

mapperLocations屬性通配符的使用 示例&#xff1a; [html] view plaincopy <bean id"sqlSessionFactory" class"org.mybatis.spring.SqlSessionFactoryBean"> <property name"dataSource" ref"dataSource" /> …

c語言中數組名可以與其他變量名相同,C語言初學者入門講座?第九講?數組(1)...

C語言初學者入門講座 第九講 數組(1)(2007-01-17 11:39:19)數組在程序設計中&#xff0c;為了處理方便&#xff0c;把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數據元素的集合稱為數組。在C語言中&#xff0c;數組屬于構造數據類型。一個數組可以分解為…

pb通過對象名稱調用對象_C++ 可調用對象(二)

點擊上方“藍字”&#xff0c;發現更多精彩。本文在前一篇關于函數對象、bind 函數的基礎上&#xff0c;對 C 中 lambda不表達式的使用進行總結。lambda01PART定義一個 lambda 表達式表示一個可調用的代碼單元&#xff0c;可以理解為是一個未命名的內斂函數。類似任何函數&…

easyui datagrid 表格組件列屬性formatter和styler使用方法

明確單元格DOM結構 要想弄清楚formatter和styler屬性是怎么工作的&#xff0c;首先要弄清楚datagrid組件內容單元格的DOM接口&#xff0c;注意&#xff0c;這里指的是內容單元格&#xff0c;不包括標題單元格&#xff0c;標題單元格的結構有所區別。我們所有內容單元格的默認DO…

c+++11并發編程語言,C++11并發編程:多線程std:thread

原標題&#xff1a;C11并發編程&#xff1a;多線程std:thread一&#xff1a;概述C11引入了thread類&#xff0c;大大降低了多線程使用的復雜度&#xff0c;原先使用多線程只能用系統的API&#xff0c;無法解決跨平臺問題&#xff0c;一套代碼平臺移植&#xff0c;對應多線程代碼…

交換機虛擬化和堆疊的區別_核心交換機和普通交換機有何區別?

提起核心交換機與普通交換機有什么區別&#xff1f;相信很多朋友都有點迷惑&#xff0c;今天我們一起來了解下。核心交換機并不是交換機的一種類型&#xff0c;而是放在核心層(網絡主干部分)的交換機叫核心交換機。一般大型企業網絡和網吧需要購買核心交換機來實現強大的網絡擴…