用java语言写一个栈

package com.sunny.stack;

/**
* 栈
* @author zhangdong
*/
public class MyStack<T> {
/*栈顶元素的位置**/
private int top;
/*栈的容量**/
private int stackCapacity;
/*存放栈中元素的数组**/
private Object[] stack;
public MyStack(int stackCapacity){
this.stackCapacity = stackCapacity;
top = 0;
stack = new Object[stackCapacity];
}
/**
*判断栈是否为空
*/
private boolean isEmpty(){
return top == 0;
}
/**
* 判断栈是否是满的
* @return
*/
private boolean isFull(){
return top == stackCapacity;
}
/**
* 清空栈中的元素
*/
public void clearStack(){
top = 0;
}
/**
* 获得栈中元素的个数
* @return
*/
public int getStackSize(){
return top;
}
/**
* 入栈
* @return
*/
public boolean push(T element){
if (isFull()) {
return false;
}
stack[top++] = element;
return true;
}
/**
* 出栈
* @return
*/
public T pop(){
if (isEmpty()) {
return null;
}
T element = (T)stack[--top];
return element;
}
/**
* 遍历栈中的元素(从栈底到栈顶)
*/
public void traversalStack(){
for(int i=0;i<top;i++){
if (i == top-1){
System.out.print(stack[i]);
break;
}
System.out.print(stack[i]+",");
}
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值