Python實現基本資料結構 棧操作

2021-07-02 01:22:48 字數 1258 閱讀 1491

#! /usr/bin/env python

#coding=utf-8

#python實現基本資料結構---棧操作

class

stack

(object):

def__init__

(self,size):

self.size = size

self.stack =

self.top = 0

#初始化,top=0時則為空棧

defpush

(self,x):

if self.stackfull():#進棧之前檢查棧是否已滿

raise exception("overflow !")

else:

self.top=self.top+1

#push進去的第乙個元素下標為1

defpop

(self):

if self.stackempty():

raise exception("underflow !")

else:

self.top=self.top-1

return self.stack.pop()#利用python內建函式pop()實現彈出

defstackempty

(self):

if self.top == 0:#判斷棧空

return

true

else:

return

false

defstackfull

(self):

if self.top == self.size:#判斷棧滿!!!

return

true

else:

return

false

if __name__ == '__main__':

s=stack(10)

for i in range(3):

s.push(i)

print s.stack

print s.pop()

print s.stack

print s.pop()

print s.pop()

print s.stack

print s.stackempty()

print s.stackfull()

for i in range(10):

s.push(i)

print s.stackfull()

基本資料結構 棧

基本資料結構 棧 一.線性資料結構 我們從四個簡單但重要的概念開始研究資料結構。棧,佇列,deques 雙向佇列 列表是一類資料的容器,它們資料元素之間的順序由新增或刪除的順序決定。一旦乙個資料元素被新增,它相對於前後元素一直保持該位置不變。諸如此類的資料結構被稱為線性資料結構。線性資料結構有兩端,...

基本資料結構 棧

我們從四個簡單但重要的概念開始研究資料結構。棧,佇列,deques 雙向佇列 列表是一類資料的容器,它們資料元素之間的順序由新增或刪除的順序決定。一旦乙個資料元素被新增,它相對於前後元素一直保持該位置不變。諸如此類的資料結構被稱為線性資料結構。線性資料結構有兩端,有時被稱為左右,某些情況被稱為前後。...

基本資料結構 棧

棧的特徵是後進先出 last in,first out,lifo 棧上的插入操作稱為壓入 push 刪除操作稱為彈出 pop 下面使用乙個陣列s n 來實現乙個最多容納n個元素的棧。定義乙個屬性指向最新插入的元素。棧的操作 如下 public class stack public stack int...