「java进栈」进栈操作代码实现
本篇文章给大家谈谈java进栈,以及进栈操作代码实现对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java元素入栈
- 2、java进栈出栈问题
- 3、怎样用java实现栈
- 4、JAVA 方法的入栈出栈问题
- 5、java 进栈
java元素入栈
代码贴全下。
你先 弄清楚 入栈逻辑。
你应该是 自己用 数组 来 实现 固定大小 栈的功能。
top 应该是 最后一次元素的 位置。
getSize() 应该是数组长度 应该是 数组当前实际存储的长度
入栈 第一步 是不是 先要 判断一下 这一次 入栈 会不会超过 当前 栈的大小。
我认为if(getSize()=elements.length) 是这个功能。
然后 如果 此次 入栈 没有超过 其数组的大小。
那么将其 入栈 。
java进栈出栈问题
public int push(int i)
{
if (top == s.length-1)
{
return 5;
}else
return s[++top]; //我想:改为return s[++top]=i;吧
}
public int pop()
{
if (top0)
{
return 0;
}else
return s[top--];
}
}
自己看你的进栈 根本就没有将值放进栈
怎样用java实现栈
这个...怎么说了,直接用啊。Java本身就有 java.util.Stack 这个专门处理栈的类。
如果是要交作业,直接把Stack的代码贴过去吧,jdk自带的东西,全部都有源码的,呵呵。
JAVA 方法的入栈出栈问题
你得明白栈的定义。代码执行的时候是执行一个方法,执行完,返回方法的上一个代码块继续往下执行后面的内容。这样的话是不是就是一个栈结构了?先进后出。方法一边执行,一边往栈里面存数据,等执行完了就取出数据(取出的是返回值,是最后一个存进去的 栈结构是后进先出),然后执行外面的代码。这么说你可能不明白,我给你举个例子。
int sub(int a,int b){
return a+b;
}
int c = sub(2,3);//注意执行这条语句的时候是不是执行了一个方法?
//那么语句执行的时候是要从左往右执行的对吧,但是事实的逻辑却是先算出来sub(2,3)这个方
//法的返回值,然后再把返回值(5)赋值给 c ,那么这个怎么实现,肯定是一个栈的数据结构,编译的时候先把”int c = “入栈,然后再把 sub(2,3),入栈,执行的时候,从栈里面取,取的第一个肯定是sub(2,3)吧?于是就计算出等于5,继续取,取出了int c =,然后就和5对接上了,就把值赋给c了。这只是一个小例子。
道理是这样,但是具体的存取可不是这样的哦。具体的存取应该分的非常细腻,应该是按照java语法的最小单位来往栈里存取的。说白了一句话,程序运行的时候的先后顺序是跟人大脑想问题的顺序一样的,但是代码不是按照这样的顺序写的(从左到右),于是就用栈结构来达到这样的效果。
这么说,明白了吗?
java 进栈
public StackX(int maxSize){
maxSize=maxSize;
stackarray=new long[maxSize];
top=-1;
}
不好意思,你犯了一个很傻的错误,这里应该是this.maxSize = maxSize,否则的话,你的实例变量maxSize还是没有被初始化为正确值,而只是默认值0
关于java进栈和进栈操作代码实现的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。