栈和队列总结

本文介绍了数据结构中的栈和队列。栈遵循后进先出(LIFO)原则,提供了push、pop、peek和size等方法。队列则遵循先进先出(FIFO)原则,支持offer、poll、peek和size等操作。文章通过示例展示了在Java中如何使用Stack和LinkedList实现栈和队列的基本功能。
摘要由CSDN通过智能技术生成

1栈(Stack)

1.1概念

栈:栈中的数据元素遵守后进先出LIFOLast In First Out)的原则。

1.2栈的使用

方法

功能

Stack()

构造一个空的栈

E push(E e)

e入栈,并返回e

E pop()

将栈顶元素出栈并返回

E peek()

获取栈顶元素

int size()

获取栈中有效元素个数

boolean empty()

检测栈是否为空

public static void main(String[] args) { Stack<Integer> s = new Stack(); s.push(1);
s.push(2);
s.push(3);
s.push(4);
System.out.println(s.size()); // 获取栈中有效元素个数---> 
4 System.out.println(s.peek());   // 获取栈顶元素---> 
 4 s.pop(); // 4出栈,栈中剩余1 2 3,栈顶元素为3
System.out.println(s.pop());  // 3出栈,栈中剩余1  2   栈顶元素为3
if(s.empty()){
 System.out.println("栈空");
}else{
System.out.println(s.size());
}
}

2队列(Queue) 

2.1概念

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear 出队列:进行删除操作的一端称为队头Head/Front

2.2方法

方法

功能

boolean offer(E e)

入队列

E poll()

出队列

peek()

获取队头元素

int size()

获取队列中有效元素个数

boolean isEmpty()

检测队列是否为空

public static void main(String[] args) {
 Queue<Integer> q = new LinkedList<>();
 q.offer(1);
 q.offer(2);
 q.offer(3);
 q.offer(4);
 q.offer(5);	// 从队尾入队列
System.out.println(q.size()); 
System.out.println(q.peek()); // 获取队头元素

q.poll();
System.out.println(q.poll());  // 从队头出队列,并将删除的元素返回

if(q.isEmpty()){ 
System.out.println("队列空");
}else{
System.out.println(q.size());
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值