数据结构_栈
栈( stack [stæk] )
栈的特点:先进后出,后进先出。
栈的实现方式:
(1)顺序栈-通过数组实现
(2)链式栈
栈的操作(运算):
(1)初始化栈
(2)判栈空
(3)判栈满
(4)清除栈
(5)入栈
(6)出栈
(7)返回栈顶元素
栈中的元素,在入栈时首先会被存放在栈顶,一般操作栈也就是对栈顶元素进行操作。

c语言实现
1 /* 栈的声明-数组实现 */
2 #ifndef _Stack_h
3 struct StackRecord;
4 typedef struct StackRecord *Stack;
5
6 #endif
7
8 struct StackRecord
9 {
10 int Capacity;
11 int TopOfStack;
12 ElementType *Array;
13 };
java代码实现
// 定义ArrayStack 表示栈
class ArrayStack {
private int top = -1; // top表示栈顶 初始化为-1
private int maxSize = 0; // 栈的大小
private int[] stack = {}; // 数组模拟栈,数据就放在该数组
//构造器
public ArrayStack(int maxSize) {
this.maxSize = maxSize;
stack = new int[this.maxSize];
}
//栈满
public boolean isFull() {
return top == maxSize -1;
}
//栈空
public boolean isEmpty(){
return top == -1;
}
//入栈-push
public void push(int value) {
//判断栈是否满
if(isFull()) {
System.out.println("栈满");
return;
}
top++;
stack[top] = value;
}
//出栈-pop
public int pop() {
if(isEmpty()) {
return -1;
}
int value = stack[top];
top--;
return value;
}
}
posted on 2020-12-07 23:40 XiaoXiaoli 阅读(73) 评论(0) 收藏 举报
浙公网安备 33010602011771号