标签:new 组复制 OLE public 栈的实现 ret 查看 img int
栈是一种只能先进后出的结构。只能在一端进行插入和删除。数据和对象是存放在栈中的,得先创建一个对象。
这就是栈的实现过程。
package zhan;
//栈的实现
public class zhan {
//创建一个长度为0的空字符数组
String str[]=new String[0];
//写一个将元素对象压入栈的方法
public void push(String s) {
//创建一个长度+1的字符数组
String c[]=new String[str.length+1];
//将元素放到栈的最后一位依次放入
c[c.length-1]=s;
//将元素的数据按照原来的位置放到新数组中
for(int i=0;i<str.length;i++){
c[i]=str[i];
}
str=c;
}
// 查看栈顶的数据 也就是最后放入的对象的数据
public String look() {
//如果长度为0 那么就没有对象数据返回的是null
if(str.length==0){
return null;
}
//如果不为0 就是该数组的最后一位数
{
return str[str.length-1];
}
}
// 弹出栈顶的数据[移除]
public String poll() {
//如长度为0 那么就无法删除数据
if(str.length==0){
return null
}
//否则删除的是数组中的最后放的数据 先获取最后一个数据
{
String s= str[str.length-1];
//创建一个长度比原来小一个的数组,然后再将数组复制到下面 不复制最后一个
String f[]= new String[str.length-1];
for(int i=0;i<str.length;i++){
f[i]=str[i-1];
}
str=f;
}
}
// 获得栈的长度
public int size() {
return str.length;
}
// 判断栈是否为空
public boolean isEmpty() {
return str.length==0;
}
}
标签:new 组复制 OLE public 栈的实现 ret 查看 img int
原文地址:https://www.cnblogs.com/cjfzezhon/p/9057090.html