字母反序输出(栈的应用)

来源:互联网 发布:企业软件管理 编辑:程序博客网 时间:2024/05/29 15:36

输入abcd ,输出dcba

java代码:

package ch03;public class Reverse {private String input;public Reverse(String input) {this.input = input;}public String doReverse() {CharStack cs = new CharStack(input.length());for (int i = 0; i < input.length(); i++) {char ch = input.charAt(i);cs.push(ch);}String output = " ";while (!cs.isEmpty()) {char ch = (char) cs.pop();output += ch;}return output;}class CharStack {private int maxSize;private char[] arr;private int top;// 构造方法public CharStack(int size) {maxSize = size;arr = new char[maxSize];top = -1;}// 压入数据public void push(char value) {top++;arr[top] = value;// arr[++top]=value;}// 弹出数据public long pop() {return arr[top--];// 弹出arr[top],然后top--}// 访问栈顶元素public long peek() {return arr[top];}// 栈是否为空public boolean isEmpty() {return (top == -1);}// 栈是否满了public boolean isFull() {return (top == maxSize - 1);}}public static void main(String[] args) {Reverse re = new Reverse("北京欢迎你!");System.out.println(re.doReverse());}}


0 0
原创粉丝点击