中缀表达式转后缀表达式的规则:1.遇到操作数:直接输出(添加到后缀表达式中)2.栈为空时,遇到运算符,直接入栈3.遇到左括号:将其入栈4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后 ...
分类:
其他好文 时间:
2016-04-10 16:13:56
阅读次数:
239
栈的概念栈是数据结构中一种特殊的线性表,它的基本特性是“先入后出,后入先出”。如下图:栈的基本操作栈有基本操作如下:voidPush(constT&d);//入栈voidPop();//出栈T&Top();//返回栈顶元素boolEmpty();//判断是否为空栈size_tSize();//栈中元素个数栈的实现Stack.h..
分类:
编程语言 时间:
2016-04-10 01:20:59
阅读次数:
251
这题是使用队列去实现栈,属于比较基础的题目。需要考虑的点在于队列为先进先出,即入队在队尾,但是出队在队首,而栈为先进后出,即出栈和入栈都在栈尾。需要实现的功能如下: push(x) -- Push element x onto stack. pop() -- Removes the element ...
分类:
其他好文 时间:
2016-04-10 01:09:43
阅读次数:
174
#栈的实现,入栈判断是否Full,出栈判断是否EmptyclassStack():def__init__(st,size):st.stack=[];st.size=size;st.top=-1;defpush(st,content):ifst.Full():print"StackisFull!"else:st.stack.append(content)st.top=st.top+1defOut(st):ifst.Empty():print"StackisEmpty!"else..
分类:
其他好文 时间:
2016-04-09 17:08:48
阅读次数:
396
题目描述:实现一个栈,并且实现一个min函数用来找当前栈中最小的元素分析:要找到栈中最小的元素,需要借助一个辅助栈,来存放当前栈中最小的元素。入栈的时候,第一个入栈的元素,也给辅助栈入栈,此后每次入栈的元素先与辅助栈的栈顶元素比较,如果小于或等于辅助栈的栈顶元..
分类:
其他好文 时间:
2016-04-09 01:42:58
阅读次数:
228
题目描述:用两个队列实现一个栈分析:队列的特性是先进先出,栈的特性是后进先出要使队列具有栈的特性,需要有一个队列来辅助另外一个队列来进行入栈和出栈的操作。废话不多说,直接给出最优的方法:给定两个队列:q1,q2,入栈和出栈操作如下:始终保持所有元素都在一个栈里面..
分类:
其他好文 时间:
2016-04-08 01:02:58
阅读次数:
196
《四级单词》 《世界是数字的》 数据结构我们学习了栈,但是觉得自己还理解得不够 ,希望能继续努力。 // 栈.cpp : Defines the entry point for the console application.///*1 实现顺序栈的如下功能函数:初始化、入栈、出栈。2 在主函数中建 ...
分类:
其他好文 时间:
2016-04-08 00:51:35
阅读次数:
177
题目描述:用两个栈实现一个队列分析:栈的特性是后进先出,队列的特性是先进先出。如果用栈实现队列,入队的时候,应该直接给其中一个栈进行入栈操作,关键就在于怎样出队列,对于队列来说,出队列是在队头操作,也就是需要将先入栈(栈底元素)的元素让其出栈,显然,一个栈..
分类:
其他好文 时间:
2016-04-07 01:36:35
阅读次数:
145
题目描述:给定一个入栈序列,给定一个出栈序列,判断该出栈序列是否合法。分析:假如入栈序列为12345,判断45321是否是合法的出栈顺序。两个序列均以数组的形式给出从两个数组的第一个元素开始,如果栈为空,或者,栈顶元素不等于当前出栈数组当前下标对应的元素时,将当前入..
分类:
其他好文 时间:
2016-04-06 00:42:39
阅读次数:
240
首先, 栈是一种限定性线性表,即他首先是一种线性表,一种特殊的线性表 特殊:将线性表的插入和删除操作限制为仅在表的一端进行 栈顶:将表中允许进行插入和删除操作的一端称为栈顶,(一般动态变化) 栈底:表的另一端称为栈底 空栈:表中没有元素 入栈:栈的插入操作(进栈) 出栈:栈的删除操作(退栈) 关键原 ...
分类:
其他好文 时间:
2016-04-05 21:30:04
阅读次数:
119