栈和队列
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。
压栈:(stack.push())栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈:(stack.pop())栈的删除操作叫做出栈。出数据在栈顶。
基本用法:
public class Solution { public static void main(String[] args) { Stack<Integer>stack1=new Stack<>(); // new一个只能放整形的栈; stack1.push(1); stack1.push(2); // 放一个数字1之后再放2 while(!stack1.isEmpty()){ System.out.print(stack1.pop()+","); } // 输出栈内元素当栈内元素不为空时,打印栈顶元素并删除; Stack<Double>stack2=new Stack<>(); Stack<Character>stack3=new Stack<>(); Stack<String>stack4=new Stack<>(); /*这里总结两个函数 String.valueOf(num):表示将整数类型的元素转换成字符串类型; Integer.parseInt(val):表示将字符串类型的元素转换成整数类型; Double.parseDouble(val);同上是将字符串类型转换成小数类型; */ } }
实现:
队列(Queue)
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out);
入队列:(queue.offer();)(进行插入操作的一端称为队尾(Tail/Rear)
出队列:(queue.poll();)进行删除操作的一端称为队头(Head/Front)
获取队头元素:(queue.pook();)
这里先介绍顺序表实现的队列;
入队列:(add(val);)(进行插入操作的一端称为队尾(Tail/Rear)
出队列:(remove(val);)进行删除操作的一端称为队头(Head/Front)
获取队头元素:(element(val);)
基本用法: