栈和队列
学过没学过算法的应该都听过栈和队列了吧,往往容易弄混的就是“后进先出”和“先进先出”了。
今天又看到了“河内塔”的相关资料,也被称为“汉诺塔”等。于是就想到了画出下面这样的图案。
如果大家觉得这张图不错可以直接右键另存为哦,记得点赞哈~
那么,关于栈和队列下面就直接列出相关操作的伪代码咯。
栈
STACK-EMPTY(S)
1 if S.top==0
2 return TRUE
3 else
4 return FLASE
PUSH(S,k)
1 S.top=S.top+1
2 S[S.top]=x
POP(S)
1 if STACK-EMPTY(S)
2 error "underflow"
3 else
4 S.top=S.top-1
5 return S[S.top+1]
队列
ENQUEUE(Q,x)
1 Q[Q.tail]=x
2 if Q.tail==Q.length
3 Q.tail=1
4 else
5 Q.tail=Q.tail+1
DEQUEUE(Q)
1 x=Q[Q.head]
2 if Q.head=Q.length
3 Q.head=1
4 else
5 Q.head=Q.head+1
6 return x
这篇博客比较短,不过还是希望大家继续关注啦……