验证中...
开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约
语言: Java
分类: 其他
最后更新于 2018-12-09 10:09
片段 1 片段 2
对数组进行反转
原始数据 复制代码
package com.lzq;
public interface Stack {
public void push(Object obj) throws Exception;
public Object pop()throws Exception;
public Object getTop()throws Exception;
public boolean notEmpty();
}
class SeqStack implements Stack{
final int defaultSize=10;
int top;
Object[] stack;
int maxStackSize;
public SeqStack(){
initiate(defaultSize);
}
public SeqStack(int sz){
initiate(sz);
}
void initiate(int sz) {
// TODO 自动生成方法存根
maxStackSize=sz;
top=0;
stack=new Object[sz];
}
public Object getTop() throws Exception {
// TODO 自动生成方法存根
if(top==0){
throw new Exception("堆栈以空");
}
return stack[top-1];
}
public boolean notEmpty() {
// TODO 自动生成方法存根
return(top>0);
}
public Object pop() throws Exception {
// TODO 自动生成方法存根
if(top==0){
throw new Exception("退栈以空");
}
top--;
return stack[top];
}
public void push(Object obj) throws Exception {
// TODO 自动生成方法存根
if(top==maxStackSize){
throw new Exception("退栈已满!");
}
stack[top]=obj;
top++;
}
}
调用
原始数据 复制代码
package com.lzq;
public class Test2 {
public static void main(String[] args) {
SeqStack myStack=new SeqStack();
String s="abcd123";
char[] c=s.toCharArray();
int n=7;
try{
for(int i=0;i<n;i++){
myStack.push(new Character(c[i]));
}
System.out.println("当前栈顶元素为:"+myStack.getTop());
System.out.println("元素出栈序列为:");
while(myStack.notEmpty()){
System.out.println(myStack.pop());
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}

评论列表( 0 )

你可以在登录后,发表评论

搜索帮助