棧的初步了解

2021-10-14 07:54:22 字數 840 閱讀 6812

1、何謂棧

棧是有序的集合,新增和移除的操作是發生在同一側的,發生這些操作的那一端成為「頂端」,另一端為「低端」。

特點:元素越在棧的底端那麼它存在的時間就會越長,最新新增的元素將被最先移除。這種排序方法叫做lifo(last in , first out) 我們克把它比作食堂用來盛放飯和菜的托盤,總是最先取走最上面的托盤,之後的人也是如此。

棧的操作:

stack()建立乙個空棧。

push(item)將乙個元素新增到棧的頂端。

pop()刪除棧頂端的元素。

peek()返回棧頂端的元素。

isempty()檢查棧是否為空。

size()返回棧中元素的數目。

用python實現棧:

以右端為頂端,通過建立乙個類來實現。

class

stack

:def

__init__

(self)

: self.items =

defisempty

(self)

:return self.items ==

defpush

(self,item)

:def

pop(self)

:return self.items.pop(

)def

peek

(self)

:return self.items[

len(self.items)-1

]def

size

(self)

:return

len(self.items)

Jawe的初步了解

一 解壓開 jawe 原始碼包二 執行configure.bat 檔案這時會產生乙個 build.properties 檔案。檔案內容大致如下 jdk.dir c jbuilderx jdk1.4 install.dir version.number 1.4 三 再執行 make.bat 就可以編譯...

Docker的初步了解

有些開發者可能還是不明白 docker 對自己到底有多大的用處,因此翻譯 docker 個人用例 這篇文章中來介紹 docker 在普通開發者開發過程中的用例。docker 如今贏得了許多關注,很多人覺得盛名之下其實難副,因為他們仍然搞不清 docker 和普通開發者到底有什麼關係。許多開發者覺得 ...

vuex的初步了解

在 vue.js 的專案中,如果專案結構簡單,父子元件之間的資料傳遞可以使用 props 或者 emit 等方式 但是如果是大型專案,很多時候都需要在子元件之間傳遞資料,使用之前的方式就不太方便。vue 的狀態管理工具 vuex 完美的解決了這個問題。一 安裝並引入 vuex 專案結構 首先使用 n...