java中栈的一个小应用..

本文介绍了一个使用Java实现的自定义栈类MyStack,该类利用LinkedList作为底层数据结构来支持基本的栈操作如push、pop等。通过一个示例程序展示了如何运用此自定义栈来解析并处理简单的字符串表达式。

package me ;
import java.util.LinkedList;
public class MyStack{  
 private LinkedList<Character> stack=new LinkedList<Character>() ;
 public Character pop(){
  return stack.pop() ;
 }
 public void push(Character e){
  stack.push(e) ;
 }
 public Character  peek(){
  return stack.peek() ;
 }
 public boolean isEmpty(){
  return  stack.isEmpty() ;
 }
 public int size(){
  return stack.size() ;
 }
 public void run(String str){
  for(int i=0;i<str.length();i++){
   if(str.charAt(i)=='+'){
    stack.push(str.charAt(i+1) ) ;
    continue ;
   }
   else if(str.charAt(i)=='-'){
    System.out.print(stack.pop());
    continue ;
   }
   
  }
 }
 public static  void main(String[]agrs)
 {    
    MyStack m=new MyStack() ;
    String str="+a+b+c---+e+r+t---+a-+i-+5+7-+6-" ;
    m.run(str) ;
  }

}

转载于:https://www.cnblogs.com/yuedongwei/archive/2012/06/21/4145452.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值