不得不说我是java的新手.最近我正在研究使用java进行考试来实现数据结构.我在下面的代码中找到了基于数组的堆栈.
class StackX {
private int maxSize; // size of stack array
private long[] stackArray;
private int top; // top of stack
//-------------------------------------------------------------
public StackX(int s) // constructor
{
maxSize = s; // set array size
stackArray = new long[maxSize]; // create array
top = -1; // no items yet
}
//-------------------------------------------------------------
public void push(long j) // put item on top of stack
{
stackArray[++top] = j; // increment top, insert item
}
Run Code Online (Sandbox Code Playgroud)
我对前三行的想法有所了解,但我对下面的线条有所了解.
maxSize = s; // set array size
stackArray = new long[maxSize]; // create array
top = -1; // no items yet
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么在数据类型为long的数组中使用[maxSize]?不应该是数字,因为数据类型很长.
也就是为什么在推(长j)上使用长j没有与j相关的变量.
感谢帮助和评论.
我建议搜索一些网站或书籍并从头开始,尝试跳入并理解一切都不适合大多数人,但回答你的问题:
stackArray = new long[maxSize];创建一个大小为'maxsize'的新数组,它可以保存该类型的变量long.'maxsize'的类型为int,它是一个整数,并且数组中只能包含一定数量的元素.
long j使用,因为这意味着方法必须在某点被称为push(1.0)它调用推送方法,并传递在1.0作为j.然后它将它放在顶部+1位置的数组中.