注:(1)这里体现了java数据结构与C语言的不同之处(2)栈的操作直接利用stack进行 1 package com.xsf.SordForOffer; 2 3 import java.util.Stack; 4 5 6 /* 7 *剑指offer 8 *pro5 链表逆序输出 9 ...
分类:
编程语言 时间:
2015-04-05 21:42:41
阅读次数:
175
官方定义是这样的:栈(Stack)是一个后进先出的线性表,它要求只在表尾进行删除和插入操作。 栈是一种重要的线性结构,可以这样讲,栈是线性表的一种具体表现形式,但是它在操作上有一些特殊的要求和限制: --栈的元素必须“先进后出” --栈的操作只能在这个线性表的表尾进行。 ...
分类:
其他好文 时间:
2015-03-13 20:17:13
阅读次数:
116
SJTUBEAR 原创作品转载请注明出处 /《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001. 汇编 在修习LINUX内核这门课的初始阶段,首先需要掌握的就是汇编以及汇编程序对于堆栈的操作。 下面我们就来...
分类:
其他好文 时间:
2015-03-07 11:32:05
阅读次数:
169
一道不错的搜索题题意:告诉你两个字符串a和b,要求对a进行栈的操作而产生b串,输出操作的顺序,如果有多组输出就按字典序输出。Sample InputmadamadammbahamabahamalongshortericriceSample Output[i i i i o o o i o o i i...
分类:
其他好文 时间:
2015-02-09 21:40:34
阅读次数:
216
2015.2.8星期二,晴天栈的数组操作:栈的特点:先进后出,后进先出。用数组的方式实现:首先需要创建一个结构体,在结构体里面包括数据指针、指向栈顶的”指针“和标记栈的大小的一个变量。数据指针是指向一定大小的数组的首地址。结构体和这个数组够成一个完整的栈。1.在创建栈的操作中,主要就是创建这个结构体...
分类:
编程语言 时间:
2015-02-09 00:35:34
阅读次数:
322
今天学习c#当中实现栈,学过C#的都知道,c#本身已经写好 了栈和队列,我们可以直接用,这里自己实现以下,就是为了更深刻的理解。首先说明线性表,栈、队列他们的数据元素以及数据元素之间的逻辑关系实际上都是相同的,不同的是线性表的操作不受限制,而栈和队列则受限制,栈的操作只能在一端进行,队列的扎入在一端...
1. 对栈的操作栈是一种特殊的列表,栈中的元素只能通过列表的一端进行访问,即栈顶。类似于累起一摞的盘子,只能最后被放在上面的,最先能被访问到。就是我们所说的后入先出(LIFO)。对栈主要有入栈push,出栈pop,获得栈顶元素peek, 三个方法。2. 栈的实现基本类结构如下:function St...
分类:
编程语言 时间:
2015-01-16 16:31:47
阅读次数:
182
最小栈
最小栈其实和栈没有什么区别的,唯一的区别在于最小栈是可以在O(1)时间内得到当前的栈空间里,最小的值是多少。
最小栈的操作
最小栈的操作和普通栈的操作没有太大区别,唯一多了一个方法就是getMin()方法,这个方法是用来获取当前栈内的最小值。其他方法就是Push(), Pop(), Top()...等
在O(n)时间内找到新的最小值
这里就厉害了,先说普通的O...
分类:
编程语言 时间:
2014-12-05 07:07:28
阅读次数:
293
一、栈的定义栈是限定仅在表尾进行插入和删除操作的线性表;栈又称为后进先出的线性表(LIFO)。栈顶:允许插入和删除操作的一端称为栈顶;而另一端则为栈底。栈的操作:插入数据称为进栈(压栈、入栈);栈的删除操作称为出栈(弹栈)。如下图所示: 二、栈的抽象数据类型 栈是一种特殊的线性表,因...
分类:
其他好文 时间:
2014-12-01 00:38:49
阅读次数:
192
火车进站,模拟一个栈的操作,额外的栈操作,查看能否依照规定顺序出栈。数据量非常少,故此题目非常easyAC。直接使用数组模拟就好。#include const int MAX_N = 10;char inOrder[MAX_N], outOrder[MAX_N], stk[MAX_N];bool r...
分类:
其他好文 时间:
2014-11-10 13:33:59
阅读次数:
256