python写算法怎么样_python写算法中的栈

########### 栈的使用 ###############

class StackFullError(Exception):

pass

class StackEmptyError(Exception):

pass

class Stack(object):

def __init__(self,size):

self.size=size

self.lst = []

self.top = 0

def push(self,item):

if self.top == self.size:

raise StackFullError("超出异常")

# self.lst[self.top] = item # 一开始是没有索引0的,会报错

self.lst.insert(self.top,item) # 可以使用insert,根据索引进行插入值

self.top += 1

def pop(self):

if self.top == 0:

raise StackEmptyError("没有了")

self.top -= 1

item = self.lst[self.top] # 获取元素

return item

s = Stack(5)

s.push("chen1")

s.push("chen2")

s.push("chen3")

s.push("chen4")

s.push("chen5")

print(s.pop())

print(s.pop())

print(s.pop())

print(s.pop())

print(s.pop())

用Python写算法题--洛谷P1149 火柴棒等式

题目 题目来源 P1149 火柴棒等式,https://www.luogu.org/problem/P1149 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式? ...

要继续看Python写算法的内容请到那里去

由于在这里发文章的时候.莫名其妙的出现公布出去的问题.客服告知是由于链接或者敏感词. 能不能告诉我哪里出了问题?我能够改动,以便再发. 可是,没有人告诉我.仅仅是告诉我不能发. 另外,能不能公布一下敏 ...

python 写matlab中的加性高斯白噪声AWGN

定义 原始信号:x 噪声信号:n 信噪比:SNR 信号长度:N def wgn(x, snr): snr = 10**(snr/10.0) xpower = np.sum(x**2)/len(x) n ...

JavaScript中的算法之美——栈、队列、表

序 最近花了比较多的时间来学习前端的知识,在这个期间也看到了很多的优秀的文章,其中Aaron可能在这个算法方面算是我的启蒙,在此衷心感谢Aaron的付出和奉献,同时自己也会坚定的走前人这种无私奉献的分 ...

设单链表中存放n个字符,试设计一个算法,使用栈推断该字符串是否中心对称

转载请注明出处:http://blog.csdn.net/u012860063 问题:设单链表中存放n个字符.试设计一个算法,使用栈推断该字符串是否中心对称,如xyzzyx即为中心对称字符串. 代码例 ...

一步一步写算法(之prim算法 中)

原文:一步一步写算法(之prim算法 中) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] C)编写最小生成树,涉及创建.挑选和添加过程 MI ...

一步一步写算法(之n!中末尾零的个数统计)

原文:一步一步写算法(之n!中末尾零的个数统计) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在很多面试的题目中,求n!结果中零的个数也是 ...

我最近用Python写了一个算法,不需要写任何规则就能自动识别一个网页的内容

我最近用Python写了一个算法,不需要写任何规则就能自动识别一个网页的内容,目前测试了300多个新闻网站的新闻页,都能准确识别

随机推荐

Good Practices to Write Stored Procedures in SQL Server

Reference to: http://www.c-sharpcorner.com/UploadFile/skumaar_mca/good-practices-to-write-the-stored ...

JQuery阻止冒泡事件on绑定中异常情况分析

科普下事件冒泡以及默认行为,以下面例子举列子:     事件冒泡:当点击内部button元素时,会触发自身及外层 a的点击事件,这就是事件冒泡引起的.事件会随着 DOM 的层次结构依次向上传播. 事件 ...

3,SFDC 管理员篇 - 区域划分

1,销售区域划分 Setup | Administrator | Manage Territory Territory Type : 帮助用户建立大的销售区域分类,分类顺序按照Priority进行显示 ...

JavaScript核心编程(代码片段)

var a = function () { function someSetup() { var setup = 'done'; } function actualWork() { alert('Wo ...

新建一个Activity通过按钮打开它,再通过按钮关闭它

首先需要创建一个供打开和关闭的Activity,先在scr下当前项目的包中创建一个新类Activity1, 并选择让其继承自Activity类,如下图所示: 之后配置AndroidMainifest. ...

四月二十五日,bugzilla for CentOS 安装

Bugzilla for CentOS 5.4 制作人,陈浩 时间:2014.4.25 原创 文件夹 Bugzilla for CentOS 5.4 一. 装系统 1) 新建虚拟机  15G硬盘,51 ...

typecheck()简析

#define typecheck(type,x) \ ({ type __dummy; \ typeof(x) __dummy2; \ (void)(&__dummy == &__d ...

Windows下切分文件(GnuWin32)

windows下碰到查看大日志文件还真麻烦,今天找了个工具来做这个:安装GnuWin32,然后用里面的split命令分割日志文件 ps:发现intellij idea还挺好,超过2g的日志文件也能进行 ...

windows下,下载pip安装

windows下,下载pip安装 https://pypi.python.org/pypi/pip#downloads 找到source那个压缩文件,下载下来解压. 参考: windows下面安装Py ...

Lemur编写索引器

http://blog.sciencenet.cn/blog-273829-312138.html http://sourceforge.net/p/lemur/wiki/Home/ http://q ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值