用java实现数据结构“栈Java栈的实现
public
class
MyStack
{
//定义一个堆栈类
int[]
array;
//用int数组来保存数据 , 根据需要可以换类型
int
s_size;
//定义堆栈的宽度
public
MyStack(int
i){
//定义一个带参数构造器
array=new
int[i];
//动态定义数组的长度
s_size=0;
//堆栈的默认宽度为0
}
public
【java进栈代码 java进栈出栈函数】MyStack(){
//默认构造器
this(50);
//默认构造器可容纳50个元素
}
public
void
push(int
i){
//压栈
array[this.s_size]=i;
this.s_size;
}
public
int
pop(){
//从堆栈中取元素,从栈顶开始取
if(this.s_size!=0){
int
t=array[s_size-1];
//用中间变量保存栈顶的元素
array[s_size-1]=0;
//取完元素该位置设为0
s_size--;
//栈的大小减1
return
t;
//返回栈顶元素
}else{
System.out.println("This
stack
is
empty");
//当栈为空时显示提示信息 , 返回0
return
0;
}
}
public
boolean
isEmpty(){
//判断栈是否为空
return
this.s_size==0;
}
public
int
top(){
//从栈顶取值,功能和
pop()
方法一样
if(!this.isEmpty()){
int
t=array[this.s_size-1];
array[this.s_size-1]=0;
this.s_size--;
return
t;
}else{
System.out.println("This
stack
is
empty!");
return
0;
}
}
public
void
printAll(){
//打印出堆栈中的所有元素的值,不是取出,元素依然在堆栈里
if(!this.isEmpty()){
for(int
i=this.s_size
-
1;i=0;i--){
System.out.println(array[i]);
}
}
}
//下面是测试代码
public
static
void
main(String[]
args){
MyStack
stack=new
MyStack();
stack.push(4);
stack.push(5);
stack.push(6);
stack.push(7);
//System.out.println(stack.isEmpty());
stack.printAll();
System.out.println("===========");
System.out.println(stack.top());
System.out.println(stack.top());
System.out.println(stack.top());
System.out.println(stack.top());
System.out.println(stack.top());
}
}
java元素入栈代码贴全下 。
你先 弄清楚 入栈逻辑 。
你应该是自己用 数组 来 实现 固定大小 栈java进栈代码的功能 。
top 应该是 最后一次元素的 位置 。
getSize() 应该是数组长度 应该是 数组当前实际存储的长度
入栈 第一步 是不是 先要 判断一下这一次 入栈 会不会超过 当前 栈的大小 。
java进栈代码我认为if(getSize()=elements.length) 是这个功能 。
然后 如果 此次 入栈 没有超过 其数组的大小 。
那么将其 入栈。
java 进栈public StackX(int maxSize){
maxSize=maxSize;
stackarray=new long[maxSize];
top=-1;
}
不好意思java进栈代码 , 你犯java进栈代码了一个很傻的错误,这里应该是this.maxSize = maxSize,否则的话,你的实例变量maxSize还是没有被初始化为正确值,而只是默认值0
java进栈代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java进栈出栈函数、java进栈代码的信息别忘了在本站进行查找喔 。
推荐阅读
- 我们应如何正确使用新媒体资源,如何利用新媒体的正面影响
- 区块链徐刚被调查,区块链老总
- sqlserver存储过程实例,sqlserver存储过程例子
- 包含linux系统put命令的词条
- cpu升级买什么,升级cpu多少钱
- 沙盘游戏公司战略,沙盘游戏创业
- 怎么把网盘的东西导在u盘,网盘里面的资料怎么能传到u盘里
- vb.net设置字体加粗 vba设置字体加粗的代码
- oracle导出表卡住,oracle导出表字段和说明