auto commit
This commit is contained in:
@ -1,12 +1,14 @@
|
||||
# 算法 - 栈和队列
|
||||
<!-- GFM-TOC -->
|
||||
* [栈](#栈)
|
||||
* [1. 数组实现](#1-数组实现)
|
||||
* [2. 链表实现](#2-链表实现)
|
||||
* [队列](#队列)
|
||||
* [算法 - 栈和队列](#算法---栈和队列)
|
||||
* [栈](#栈)
|
||||
* [1. 数组实现](#1-数组实现)
|
||||
* [2. 链表实现](#2-链表实现)
|
||||
* [队列](#队列)
|
||||
<!-- GFM-TOC -->
|
||||
|
||||
|
||||
# 栈
|
||||
## 栈
|
||||
|
||||
```java
|
||||
public interface MyStack<Item> extends Iterable<Item> {
|
||||
@ -22,7 +24,7 @@ public interface MyStack<Item> extends Iterable<Item> {
|
||||
}
|
||||
```
|
||||
|
||||
## 1. 数组实现
|
||||
### 1. 数组实现
|
||||
|
||||
```java
|
||||
public class ArrayStack<Item> implements MyStack<Item> {
|
||||
@ -121,7 +123,7 @@ public class ArrayStack<Item> implements MyStack<Item> {
|
||||
}
|
||||
```
|
||||
|
||||
## 2. 链表实现
|
||||
### 2. 链表实现
|
||||
|
||||
需要使用链表的头插法来实现,因为头插法中最后压入栈的元素在链表的开头,它的 next 指针指向前一个压入栈的元素,在弹出元素时就可以通过 next 指针遍历到前一个压入栈的元素从而让这个元素成为新的栈顶元素。
|
||||
|
||||
@ -208,7 +210,7 @@ public class ListStack<Item> implements MyStack<Item> {
|
||||
}
|
||||
```
|
||||
|
||||
# 队列
|
||||
## 队列
|
||||
|
||||
下面是队列的链表实现,需要维护 first 和 last 节点指针,分别指向队首和队尾。
|
||||
|
||||
@ -316,10 +318,3 @@ public class ListQueue<Item> implements MyQueue<Item> {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div align="center"><img width="320px" src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/githubio/公众号二维码-2.png"></img></div>
|
||||
|
Reference in New Issue
Block a user