python数据结构顺序表基本操作,数据结构:栈 顺序表方法和单链表方法(python版)...

#!/usr/bin/env python

# -*- coding:utf-8 -*-

class StackUnderflow(ValueError):

pass

#链表节点

class Node(object):

def __init__(self, elem, next_ = None):

self.elem = elem

self.next = next_

#顺序表实现栈

class SStack(object):

def __init__(self):

self._elems = []

def is_empty(self):

return self._elems == []

def top(self):

if self.is_empty():

raise StackUnderflow

return self._elems[-1]

def push(self, elem):

self._elems.append(elem)

def pop(self):

if self.is_empty():

raise StackUnderflow

return self._elems.pop()

#链表实现栈

class LStack(object):

def __init__(self):

self._top = None

def is_empty(self):

return self._top is None

def top(self):

if self.is_empty():

raise StackUnderflow("in LStack.top()")

return self._top.elem

def push(self, elem):

self._top = Node(elem, self._top)

def pop(self):

if self.is_empty():

raise StackUnderflow("in LStack.pop()")

result = self._top.elem

self._top = self._top.next

return result

if __name__=="__main__":

st1 = SStack()

st1.push(3)

st1.push(5)

while not st1.is_empty():

print(st1.pop())

print("============")

st2 = LStack()

st2.push(3)

st2.push(5)

while not st2.is_empty():

print(st2.pop())

PHP数据结构之三 线性表中的单链表的PHP实现

线性表的链式存储:用一组任意的存储单元存储线性表中的数据元素.用这种方法存储的线性表简称线性链表. 链式存储线性表的特点:存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散分 ...

[Python] 数据结构--实现顺序表、链表、栈和队列

说明: 本文主要展示Python实现的几种常用数据结构:顺序表.链表.栈和队列. 附有实现代码. 来源主要参考网络文章. 一.顺序表 1.顺序表的结构 一个顺序表的完整信息包括两部分,一部分是表中元素 ...

javascript实现数据结构与算法系列:线性表的静态单链表存储结构

有时可借用一维数组来描述线性链表,这就是线性表的静态单链表存储结构. 在静态链表中,数组的一个分量表示一个结点,同时用游标(cur)代替指针指示结点在数组中的相对位置.数组的第0分量可看成头结点,其指 ...

hrbustoj 1545:基础数据结构——顺序表(2)(数据结构,顺序表的实现及基本操作,入门题)

基础数据结构——顺序表(2) Time Limit: 1000 MS    Memory Limit: 10240 K Total Submit: 355(143 users) Total Accep ...

正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除。(C语言)

/* 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除 */ #include #include typedef st ...

线性表:实现单链表和子类栈(Stack)及单向队列(Queue) [C++]

刚刚开始学习c++.之前c的内容掌握的也不多,基本只是一本概论课的程度,以前使用c的struct写过的链表.用python写过简单的数据结构,就试着把两者用c++写出来,也是对c++的class,以及 ...

Python与数据结构[0] -> 链表/LinkedList[0] -> 单链表与带表头单链表的 Python 实现

单链表 / Linked List 目录 单链表 带表头单链表 链表是一种基本的线性数据结构,在C语言中,这种数据结构通过指针实现,由于存储空间不要求连续性,因此插入和删除操作将变得十分快速.下面将利 ...

C++的标准模板库STL中实现的数据结构之顺序表vector的分析与使用

摘要 本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解.即联系数据结构的理论分析和详细的应用实现(STL),本文是系列总结的第一篇,主要针对线性表中的顺序表(动 ...

[数据结构]C#顺序表的实现

在数据结构的学习当中,想必C++可能是大家接触最多的入门语言了 但是C#的数据结构却很少看到,今天我写了一个C#顺序表的顺序存储结构 顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是 ...

随机推荐

纯JavaScripst的全选、全不选、反选 【转】

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一)

作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File. ...

Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换

Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换 1. 可能你的Alt+Tab键被别人禁用了,试下以下的方法: 1 2. 为什么要禁用Alt+Tab 1 3. ALT+TAB ...

javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

我们在学习这一块内容时需要注意的一个问题是 集合中存放的依然是对象的引用而不是对象本身. List接口扩展了Collection并声明存储一系列元素的类集的特性.使用一个基于零的下标,元素可以通过它们 ...

LR多分类推广 - Softmax回归*

LR是一个传统的二分类模型,它也可以用于多分类任务,其基本思想是:将多分类任务拆分成若干个二分类任务,然后对每个二分类任务训练一个模型,最后将多个模型的结果进行集成以获得最终的分类结果.一般来说,可以 ...

POJ 3525 Most Distant Point from the Sea [半平面交 二分]

Most Distant Point from the Sea Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5153   ...

js if for 详解 获取元素方式 及一些js 基础知识

##获取元素的新方法## --document.querySelector('Css Selector{css选择器}') 接收一个css选择器(通配,群组,类,包含,id....等) 若这个选择器对 ...

java 学习必备的软件,持续更新中

小编会持续更新在学习Java过程中需要的软件以及各种文件: 话不多说,看行动! 一:JDK (1)JDK1.8(*64): 链接:https://pan.baidu.com/s/1vM0jNXn2CT ...

合肥工业大学oj p1012

#include #include #define maxn 5 + 2 using namespace std; int m, n, ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值