数据结构之栈
栈是一种运算受限的线性表。
其限制是指只仅允许在表的一端进行插入和删除操作,这一端被称为栈顶(Top);
相对地,把另一端称为栈底(Bottom)。
把新元素放到栈顶元素的上面,使之成为新的栈顶元素称作进栈、入栈或压栈(Push);
把栈顶元素删除,使其相邻的元素成为新的栈顶元素称作出栈或退栈(Pop)。
这种受限的运算使栈拥有“先进后出”的特性(First In Last Out),简称FILO。
常用操作
-
add 添加新元素 -
addElement 添加新元素 -
push 插入新元素 -
peek 查看栈顶元素 -
pop 去除栈顶元素 -
empty 判断栈为空 -
size 查看栈的大小
栈内排序
package 数据结构;
import java.util.Stack;
public class StackTest04 {
public static void main(String[] args) {
Stack<Integer> stackSou = new Stack<>();
stackSou.add(2);
stackSou.add(1);
stackSou.add(4);
stackSou.add(3);
stackSou.add(3);
stackSou.add(7);
Stack<Integer> stackDec = new Stack<>();
while (!stackSou.isEmpty()){
int temp = stackSou.pop();
while (!stackDec.isEmpty() && stackDec.peek() > temp){
stackSou.add(stackDec.pop());
}
stackDec.add(temp);
}
System.out.println(stackDec);
}
}
|