自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 栈和队列,以及模拟实现

栈栈只允许在末端进行插入和删除的线性表。 栈具有后进先出的特性。 所以栈的插入删除都是在栈顶进行操作的,可以取栈顶元素(Top)实现:用顺序表实现,由于他只能在栈顶进行操作,所以优选顺序表实现应用:递归图解: 栈模拟实现代码:#include<iostream>#include<assert.h>using namespace std;template<class T>class Sta

2017-09-28 09:06:48 298

原创 面试题(实现一个栈,要求实现Push、Pop、Min的时间复杂度为O(1))

面试题(判断元素出栈入栈顺序的合法性。) 面试题(两个栈实现一个队列和两个队列实现一个栈)实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)解题思路: 我们定义两个栈分别为s1,s2。我们用s2保存最小值,s1保存原来的值Push():我们添加元素到s1中,如果s2为空或者x#include#includeusing n

2017-09-26 15:23:25 1371

原创 面试题(判断元素出栈入栈顺序的合法性。)

面试题(实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)) 面试题(两个栈实现一个队列和两个队列实现一个栈) 判断元素出栈,入栈顺序的合法性 如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1)是合法序列 入栈的序列(1,2,3,4,5),出栈序列为(1,5,3,2,4)是不合法序列 解题思路:我们声明两个栈,分别为i

2017-09-26 13:56:12 1205

原创 面试题(两个栈实现一个队列和两个队列实现一个栈)

面试题(判断元素出栈入栈顺序的合法性。) 面试题(实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1))1,两个栈实现一个队列我们知道栈是后进先出的,而队列是先进先出的 我们创建两个栈input(输入栈),output(输出栈) 我们用input(输入栈)来负责入队,而output(输出栈)来负责出队(反向) 出队是,如果output不为空,

2017-09-26 09:25:16 2755

原创 STL中vector的使用以及模拟实现

vector:vector是一个动态增长的一个数组,它和数组是非常相似的。 vector与数组的区别在于空间运用的灵活性。 数组是静态空间,一旦配置了就不能改变,如果要增大空间,就需要重新开辟一个更大的空间,把原来数组的元素拷贝进去,然后在把原来的空间释放还给操作系统。 而vector是动态增长的,它会随着元素的增加而增大空间。下面我们看一下vector的主要函数功能判断容器的大小int si

2017-09-23 09:58:23 378

原创 STL中list的使用及模拟实现

list:带头结点的双向循环链表 我们先来看看在STL中list的各个接口的使用#include<windows.h>#include<iostream>#include <algorithm> #include<list>using namespace std;//迭代器的使用 void Testlist(){ list<int> l1; l1.push_back

2017-09-19 14:27:43 428

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除