package wanghm;
class Stack{
int [] nums = new int[1];
int count;
int capacity;
Stack()
{
nums[0] = 0;
count = 0;
capacity = 1;
}
private void addCapacity()
{
int [] cur = new int[2 * capacity];
for(int i = 0; i < count; i++) {
cur[i] = nums[i];
}
nums = cur;
capacity *= 2;
}
boolean isEmpty()
{
return count == 0? true: false;
}
int size()
{
return count;
}
void push(int x)
{
if(count == capacity) addCapacity();
nums[count] = x;
count++;
}
void pop()
{
if(count == 0)System.out.println("stack is empty");
else count--;
}
int top()
{
return nums[count - 1];
}
}
public class HelloWorld {
public static void main(String args[]) {
Stack q = new Stack();
for(int i = 1; i < 10; i++)
q.push(i);
System.out.println(q.top());
q.pop();
System.out.println(q.top());
System.out.println(q.size());
}
}
JAVA栈的简单实现
最新推荐文章于 2024-07-22 14:15:06 发布