「java进栈」进栈操作代码实现

博主:adminadmin 2022-11-24 06:29:06 105

本篇文章给大家谈谈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进栈和进栈操作代码实现的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。