java栈逆序_《java数据结构和算法》栈字母逆序
栈只允许访问一个数据项,即最后插入的数据项。用数组实现一个栈如下:classStackX{privateintmaxSize;privatelong[]stackArray;privateinttop;publicStackX(ints){maxSize=s;stackArray=newlong[maxSize];top=-1;}publicvoidpush(l...
栈只允许访问一个数据项,即最后插入的数据项。用数组实现一个栈如下:
class StackX{
private int maxSize;
private long[] stackArray;
private int top;
public StackX(int s){
maxSize = s;
stackArray = new long[maxSize];
top = -1;
}
public void push(long j){
stackArray[++top] = j;
}
public long pop(){
return stackArray[top--];
}
public long peek(){
return stackArray[top];
}
public boolean isEmpty(){
return(top==-1);
}
public boolean isFull(){
return (top == maxSize-1);
}
}
用栈实现从键盘输入字符逆序输出:
public String doRverse(){
int stackSize = input.length();
StackD theStack = new StackD(stackSize);
for(int j=0;j
char ch = input.charAt(j);
theStack.push(ch);
}
output = "";
while(!theStack.isEmpty()){
char ch = (char) theStack.pop();
output = output + ch;
}
return output;
}
package Structure;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class StackD{
private int maxSize;
private char[] stackArray;
private int top;
public StackD(int s){
maxSize = s;
stackArray = new char[maxSize];
top = -1;
}
public void push(char j){
stackArray[++top] = j;
}
public long pop(){
return stackArray[top--];
}
public long peek(){
return stackArray[top];
}
public boolean isEmpty(){
return(top==-1);
}
public boolean isFull(){
return (top == maxSize-1);
}
}
class Reverser{
private String input;
private String output;
public Reverser(String in){
input = in;
}
public String doRverse(){
int stackSize = input.length();
StackD theStack = new StackD(stackSize);
for(int j=0;j
char ch = input.charAt(j);//返回j处的字符
theStack.push(ch);
}
output = "";
while(!theStack.isEmpty()){
char ch = (char) theStack.pop();
output = output + ch;
}
return output;
}
}
public class reverse {
public static void main(String[] args) throws IOException{
String input,output;
while(true){
System.out.print("Enter a String: ");
System.out.flush();
input = getString();
if(input.equals(""))
break;
Reverser theReverse = new Reverser(input);
output = theReverse.doRverse();
System.out.println("Reversed: "+ output);
}
}
public static String getString()throws IOException{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}
}

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)