如何在不使用实用程序库中的堆栈方法的情况下从头开始编码或制作堆栈?
你应该创建自己的类,从 Vector 扩展它,并实现你需要的所有方法。或者只是使用所有方法创建自己的类。或者你可以从 Stack 类扩展你的类,并覆盖你想要改变的行为的方法
堆栈具有顶部项和指向堆栈其余部分的指针。您可以使用列表或数组进行实现
堆栈是一种线性数据结构,它遵循执行操作的特定顺序。 在堆栈中主要执行以下三种基本操作:
推送:在堆栈中添加项目。如果堆栈已满,则称为溢出情况。
弹出:从堆栈中删除项目。这些项目的弹出顺序与它们的推送顺序相反。
速览或顶部:返回堆栈的顶部元素。
isEmpty:如果堆栈为空,则返回 true,否则返回 false。
class Stack
{
static final int MAX_ELEMENT = 100;
int top;
int a[] = new int[MAX_ELEMENT]; // Maximum size of Stack
boolean isEmpty()
{
return (top < 0);
}
Stack()
{
top = -1;
}
boolean push(int x)
{
if (top >= (MAX_ELEMENT -1))
{
System.out.println("Stack Overflow");
return false;
}
else
{
a[++top] = x;
System.out.println(x + " pushed into stack");
return true;
}
}
int pop()
{
if (top < 0)
{
System.out.println("Stack Underflow");
return 0;
}
else
{
int x = a[top--];
return x;
}
}
}