日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

栈——用链表实现栈操作

發布時間:2025/3/21 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 栈——用链表实现栈操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一、添加一個元素到棧頂

def push(self,data):node=Node(item,self.__top)node.next=self.__topself.__top=nodeself._size+=1

二、彈出棧頂元素

def pop(self)if self.is_empty():print('棧為空')else:value=self.top.dataself.__top=self.__top.nextself._size-=1 return value

三、返回棧頂元素

def top(self):if self.is_empty():print('棧頂元素為空')else:return self.__top.data

四、判斷棧是否為空

def is_empty(self)return self.__size==0

五、判斷棧中數據數量

def size(self):return self.__size

代碼塊

class Node:def __init__(self,data,_next=None):self.data=data #數據域self.next=_next #指針域class Stack:def __init__(self):#以鏈表的第一個節點作為棧頂self.__top=None #棧頂元素,self._size=0 #棧內元素個數def push(self, item):# 添加一個元素到棧頂# 讓self.top指向新的節點# 讓新的節點的next指向原本的節點#self.__top = Node(item, self.__top)node=Node(item,self.__top)node.next=self.__topself.__top = nodeself._size+=1def pop(self):# 要判斷棧是否為空if self.is_empty():raise ValueError('棧為空')value=self.__top.data#讓棧頂元素指向下一個節點self.__top=self.__top.nextself._size-=1return valuedef top(self):# 要判斷棧是否為空if self.is_empty():raise ValueError('棧為空')return self.__top.datadef is_empty(self):return self._size == 0#return self.__top == Nonedef size(self):return self._sizeif __name__ == '__main__':stack = Stack()stack.push(1)stack.push(2)stack.push(3)stack.push(4)print(stack.size())print(stack.pop())print(stack.pop())print(stack.pop())print(stack.pop())print(stack.pop())print(stack.is_empty())

總結

以上是生活随笔為你收集整理的栈——用链表实现栈操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。