python-实现顺序栈
7 class sqstack(object):
8 def __init__(self,maxsize):
9 self.maxsize = maxsize
10 self.stackElem = []
11 self.top = 0
12
13 def clear(self):
14 self.top = 0
15 def isEmpty(self):
16 return self.top == 0
17 def length(self):
18 return self.top
19 def gettop(self):
20 if not self.isEmpty():
21 return self.stackElem[self.top - 1]
22 else:
23 return None
24 def push(self,item):
25 if self.top == self.maxsize:
26 raise Exception("栈已满")
27 else:
28 self.stackElem.append(item)
29 self.top += 1
30 def pop(self):
31 if self.isEmpty():
32 return None
33 else:
34 self.top -= 1
35 values = self.stackElem[self.top]
36 del self.stackElem[self.top]
37 return values
38 def display(self):
39 for i in self.stackElem:
40 print(i,end = " ")
41 print()
42
43 if __name__ == "__main__":
44 sqstack1 = sqstack(5)
45 sqstack1.push(1)
46 sqstack1.push(2)
47 sqstack1.push(3)
48 sqstack1.push(4)
49 sqstack1.push(5)
50 print(sqstack1.gettop())
51 sqstack1.display()
52 print(sqstack1.length())
53 print(sqstack1.pop())
54 sqstack1.display()
运行结果:
5
1 2 3 4 5
5
5
1 2 3
python-实现顺序栈的更多相关文章
- python基本数据结构栈stack和队列queue
1,栈,后进先出,多用于反转 Python里面实现栈,就是把list包装成一个类,再添加一些方法作为栈的基本操作. 栈的实现: class Stack(object): #初始化栈为空列表 def _ ...
- 用python 实现一个栈
前言 Python本身已有顺序表(List.Tupple)的实现,所以这里从栈开始. 什么是栈 想象一摞被堆起来的书,这就是栈.这堆书的特点是,最后被堆进去的书,永远在最上面.从这堆书里面取一本书出来 ...
- 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天)
点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天) 课程大纲 1.这一期比之前的Python培新课程增加了很多干货:Linux ...
- 老男孩Python高级全栈开发工程师【真正的全套完整无加密】
点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师[真正的全套完整无加密] 课程大纲 老男孩python全栈,Python 全栈,Python教程,Django ...
- python = 赋值顺序 && C++ side effect
title: python = 赋值顺序 && C++ side effect date: 2020-03-17 15:00:00 categories: [python][c++] ...
- 数据结构:C_顺序栈的实现
数据结构顺序栈的实现(C语言版) 1.写在前面 栈是一种遵循元素先进(Push)后出(Pop)规则的线性表,它的实现可以用数组或者链表. ..... 2.代码分解 2.1对栈的结构定义: typede ...
- D_S 顺序栈的基本操作
// main.cpp #include <iostream> using namespace std; #include "Status.h" typedef in ...
- 数据结构Java实现05----栈:顺序栈和链式堆栈
一.堆栈的基本概念: 堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除 ...
- 01顺序栈_Stack---(栈与队列)
#include "stdio.h" #include "stdlib.h" #include "io.h" #include " ...
- 把十进制整数转换为r(r=2)进制输出(顺序栈实现)
上周的第二个作业补上~~ 上周的要求: 1.给出顺序栈的存储结构定义. 2.完成顺序栈的基本操作函数. 1) 初始化顺序栈 2) 实现入栈和出栈操作 3) 实现取栈顶元素 ...
随机推荐
- Gym 101128A Promotions(思维 + dfs)题解
题意:给一有向图,如果A指向B,则A是B的上级.一直i要升职那么他的上级必须都升职.现在给你一个升职人数的区间[a, b],问你升职a人时几个人必被升职,b时几个人必升职,b时几个人没有可能被升职. ...
- codevs1068乌龟棋-四维DP,五维如何缩减一维
我们从起点x开始暴力枚举所有决策 于是可以得到如下转移 void dfs(int x,int A,int B,int C,int D,int y) { if (x==n) {ans=max(ans,y ...
- Linux 驱动框架---net驱动框架
这一篇主要是学习网络设备驱动框架性的东西具体的实例分析可以参考Linux 驱动框架---dm9000分析 .Linux 对于网络设备的驱动的定义分了四层分别是网络接口层对上是IP,ARP等网络协议,因 ...
- Document This All In One
Document This All In One Document This 自定义注释 @author vscode 自定义注释 "docthis.automaticForBlockCom ...
- Flow All In One
Flow All In One Flow is a static type checker for JavaScript https://github.com/facebook/flow https: ...
- Web 全栈开发 MySQL 面试题
Web 全栈开发 MySQL 面试题 MySQL MySQL 读写分离 读写分离原理 MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先部署主从复制,只有主从复制完了,才能在此基础上进行 ...
- learning-js-by-reading-source-codes
learning-js-by-reading-source-codes BigInt https://github.com/learning-js-by-reading-source-codes/lo ...
- map & scale bug
map & scale TW bug https://antv.alipay.com/zh-cn/g2/3.x/demo/map/drill-down.html import React, { ...
- docket 缺陷
docker轻量级的虚拟机 依赖于内存和核数 相比于正常的虚拟机来说运行速度会慢
- 为什么ConcurrentHashMap,HashTable不支持key,value为null?
ConcurrentHashmap.HashMap和Hashtable都是key-value存储结构,但他们有一个不同点是 ConcurrentHashmap.Hashtable不支持key或者val ...