3.栈、队列
2021-12-10 本文已影响0人
LucXion
栈是一种特殊的线性表,只能在一端进行操作。
-
往栈中添加元素一般叫
入栈
,push -
从栈中移除元素一般叫
出栈
,pop,或弹出栈顶元素 -
后进先出原则
栈的接口设计:size、push、pop、isEmpty、getTop
栈的应用:浏览器的前进和后退,由两个栈结构来构成,后退操作时,将栈顶元素放到临时栈中。
算法练习:判断有效的括号
。有效括号:"【(){}】" 、无效括号:“【(()】”,左括号入栈,遇到右括号出栈看栈顶元素是否对应。
队列
-
队列的 底层 用数组实现,队列的两头一头进一头出,先进先出。
-
队列的 优化 :用动态数组(添加记录首元素的成员变量的可循环数组)优化,这样的队列也叫 循环队列。
-
循环双端队列 ,可以进行两端添加、删除操作的循环队列。