您的位置:首页 > 理论基础 > 数据结构算法

数据结构和算法以及leetcode002 整理

2018-01-30 22:50 274 查看
第二章:栈和队列
今天要复习的内容是栈和队列,栈是一种常见的数据结构,栈的基本特征是先进后出,相当于大家一起排队走进死胡同。栈的实现可以是数组的形式,也可以是链表的形式,但是作为主要的数据结构C++中已经封装成了stack(因此作为主要的数据结构没有必要再去手动实现了),这里对C++中栈的主要成员函数进行总结;
stack<int> s{...};//通过列表初始化栈
s.empty();//判断栈是否为空
s.push();//元素入栈
s.pop();//元素出栈
s.top();//返回栈顶元素
s.size();//判断栈中的元素数目
栈的主要应用,括号匹配,后缀表达式的计算,模拟递归(经典的算法如二叉树的前序,中序,后续遍历等)在后续的leetcode中会有具体的例子详细介绍;

队列是另外一种常见的线性数据结构,队列不同于栈,栈是先进后出,而队列是先进先出,队列的实现方式也可以是数组,也可以链表实现,队列在队尾入队,在队头出队,C++用数组实现了一个队列即queue,这里同样对其成员方法进行总结
queue<int> d;
d.empty();//判断队列是否是空
d.push();//元素从队尾入队
d.pop();//元素从对头出队
d.front();//返回队首元素
d.back();//返回队尾元素
d.size();//返回队列中元素的数量
队列应用在leetcode中也有不少题目,再后面一一介绍;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: