博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组模拟实现一个50个字符串的堆栈,使用堆栈,将中缀算术表达式转换成后缀表达式。
阅读量:3967 次
发布时间:2019-05-24

本文共 1395 字,大约阅读时间需要 4 分钟。

1、用数组模拟实现一个50个字符串的堆栈,并使这个堆栈有如下方法和参数:

myStack:数组名,使用时不能直接对这个数组进行存取操作,存取操作都通过pop()和push()完成。

实现pop(): 弹出
实现push():压入
实现isFull():是否已满
实现isEmpty():是否为空
实现length():已有多少元素

public class StackImiate {
public int maxSize; public char[] a; public int top; StackImiate(int maxSize) {
this.maxSize=maxSize; a=new char[maxSize]; top=-1; } public void push(char str) {
a[++top]=str; } public char pop() {
return a[top--]; } public boolean isEmpty() {
return(top==-1); } public boolean isFull() {
return(top==maxSize); } public int length() {
return top+1;} public char peek() {
return a[top]; } public char peekN(int n) {
//System.out.println(a[n]); return a[n]; } public void displayStack(String s) {
System.out.print(s); System.out.print(" Stack (bottom-->top): "); for(int j=0;j

2、使用堆栈,将中缀算术表达式转换成后缀表达式。

A、表达式中只有+、-、×,/,%,(,)六种运算符

B、变量名为以英文字母开头的字母数字串
C、表达式中可以出现不带符号的常数
D、适当判断表达式中的语法错误
E、不计算结果

public class InToPost {
public static void main(String[] args) {
String strResult=new String(); String Input="a+b*c+(d*e+f)*g"; strResult=strResult+doTrans(Input); System.out.println(); System.out.println(strResult); } public static StringBuffer doTrans(String Input) {
//返回strResult的函数 StackImiate str=new StackImiate(50); StringBuffer strResultTemp=new StringBuffer(); for (int i = 0; i

在这里插入图片描述

转载地址:http://nucki.baihongyu.com/

你可能感兴趣的文章
增强的for循环语句
查看>>
静态导入
查看>>
java 泛型
查看>>
控制结构
查看>>
标准输入输出
查看>>
运算符
查看>>
数据类型之列表与数组
查看>>
比较字符串
查看>>
Java EE 精萃
查看>>
Open Source 精萃
查看>>
Java EE 简介
查看>>
Weblogic 简介
查看>>
观察者模式 (Observer)
查看>>
Java 集合框架
查看>>
Weblogic 精萃
查看>>
Servlet 精萃
查看>>
XStream 精萃
查看>>
XStream 环境设置
查看>>
Git 分支
查看>>
Git 冲突
查看>>