`
tonyJ
  • 浏览: 142527 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

用自定义栈去实现字符串反转

阅读更多
package date0610;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 *@author TonyJ
 *@time 2011-6-10 下午03:46:08
 */
public class Test02 {
	private char arr[];
	private int maxSize;
	private int top;

	public Test02(int s) {
		arr = new char[s];
		top = -1;
		maxSize = s;
	}

	public void push(char c) {//进栈
		arr[++top] = c;
	}

	public char pull() {//出栈
		return arr[top--];
	}

	public char peek() {//取得栈头数据
		return arr[top];
	}

	public boolean isEmpty() {//判断是否空
		return top == -1;
	}

	public boolean isFull() {//判断栈是否已满
		return top == maxSize - 1;
	}

	public static String getString() {//获得输入的字符串
		String str = null;
		BufferedReader br = null;
		br = new BufferedReader(new InputStreamReader(System.in));
		try {
			System.out.println("请输入字符串:");
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	}

	public static String reverse() {
		String input = getString();
		String output="";
		Test02 t = new Test02(input.length());
		for (int i = 0; i < input.length(); i++) {
			t.push(input.charAt(i));
		}
		while (!t.isEmpty()) {
			output =output+ t.pull();
		}
		return output;
	}

	public static void main(String[] args) {
		System.out.println(reverse());
	}
}
分享到:
评论

相关推荐

    Go语言程序设计中文版[人民邮电大学出版]

    3.5 使用fmt包来格式化字符串 69 3.5.1 格式化布尔值 73 3.5.2 格式化整数 74 3.5.3 格式化字符 75 3.5.4 格式化浮点数 75 3.5.5 格式化字符串和切片 76 3.5.6 为调试格式化 78 3.6 其他字符处理相关...

    Go 语言程序设计

    3.5 使用fmt包来格式化字符串 69 3.5.1 格式化布尔值 73 3.5.2 格式化整数 74 3.5.3 格式化字符 75 3.5.4 格式化浮点数 75 3.5.5 格式化字符串和切片 76 3.5.6 为调试格式化 78 3.6 其他字符处理相关...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例049 用数组反转字符串 60 3.3 数组排序与查询 61 实例050 使用选择排序法 61 实例051 使用冒泡排序法 62 实例052 使用快速排序法 64 实例053 使用直接插入法 65 实例054 使用sort方法对数组进行排序 67 实例055 ...

    传智播客扫地僧视频讲义源码

    04_字符串反转_方法2递归逆序(3个点)_传智扫地僧 05_考试题解答和项目开发代码书写手法 06_一级指针易错模型分析_重点 07_C语言中的const知识点总结 08_指针的输入和输出模型 09_课堂答疑_指针所指向内存释放 10_...

    JavaScript版 数据结构与算法

    如何用栈去解决自定义数学运算(棒球比赛)是不是很好奇?这个章节答疑解惑。 7-1 棒球比赛-原理讲解 7-2 棒球比赛-代码实操 7-3 最大矩形-原理讲解 7-4 最大矩阵-代码实操(1) 7-5 最大矩阵-代码实操(2)第8章 ...

    精通qt4编程(源代码)

    \13.2.4 查询字符串数据 337 \13.2.5 字符串的转换 338 \13.3 QVariant 339 \13.4 Qt的算法 341 \13.5 正则表达式 342 \13.5.1 基本的正则表达式 342 \13.5.2 文字捕获 344 \13.6 小结 345 \高 级 篇 \第14章 XML ...

    精通Qt4编程(第二版)源代码

    \13.2.4 查询字符串数据 337 \13.2.5 字符串的转换 338 \13.3 QVariant 339 \13.4 Qt的算法 341 \13.5 正则表达式 342 \13.5.1 基本的正则表达式 342 \13.5.2 文字捕获 344 \13.6 小结 345 \高 级 篇 \第14...

    java面试题

    答:String是不可变的对象,每次对String类型进行改变都相当于产生了一个新的对象,StringBuffer是可变的字符序列,所以如果要经常改变某个字符串的话建议使用StringBuffer。 list、set、map问题? 答:set 不允许...

    Delphi开发范例宝典目录

    实例189 在程序中使用自定义文件格式 242 实例190 简单的文件加密解密 244 5.7 其他 246 实例191 在DELPHI中控制Word 246 实例192 带日志的程序 247 实例193 获取窗口文本 248 实例194 判断文件是否...

Global site tag (gtag.js) - Google Analytics