栈和队列
栈和队列是比数组更加抽象的结构,本人理解是为了特殊场景下建立秩序的一个工具,表示抽象的一个过程,数组更像一个结果。
栈 先进后出
栈空间(存放元素位置),栈顶元素(指向栈顶的指针),栈的长度
创建一个空栈
initStack(); // 初始化栈
入栈
push(Element);
出栈
pop();
查看元素
peek();
Java代码实现
// stack
public class NewStack {
private Long[] elements; // 元素
private int maxSize; // 栈大小
private int top; // 栈顶指针
public NewStack(int size) {
this.elements = new Long[size];
this.maxSize = size;
this.top = -1;
}
public void push(Long e) {
elements[++top] = e;
}
public long pop() {
return elements[top--];
}
public long peek() {
return elements[top];
}
public boolean isEmpty() {
return top == -1;
}
public boolean isFull() {
return top == maxSize - 1;
}
}