[C++]STL - 队列(Queue) 栈(Stack) 链表(list)

STL - 队列(Queue) 栈(Stack) 链表(list)

Queue 队列

结构特征

这是一种线性储存结构

其数据有先进先出的特点

这种特点被称为FIFO(First In First Out)

可以把这种结构想象成一根管子

p1

语法用法

定义

	queue<int> q;
	//queue<数据类型> 队列名称;

操作

  • 入队
	q.push(1);
	//q.push(入队变量);
  • 出队
	q.pop();

上面提到过队列的 FIFO 的特性

所以这里入队只能从队首进入

出队只能从队尾出去

  • 访问队首元素
	q.front()
  • 访问队尾元素
	q.back()
  • 判断队列是否为空
	q.empty()
  • 取队列中的元素个数
	q.size()

Stack 栈

结构特征

和 Queue 对应 Stack 的特征是 LIFO(Last In First Out)

就是最先进去的被压在最下面

最后进去的可以先出去

p2

语法用法

定义

	stack<int> s;
	//stack<数据类型> 栈名称;

操作

  • 入栈 & 出栈
	s.push(1); //入栈
	s.pop();     //出栈
  • 返回栈顶元素
	s.top()
  • 返回栈中元素个数
	s.size()
  • 判断栈是否为空
	s.empty()

List 链表

结构特征

语法用法

定义

	list<int> l1;
	//list<数据类型> 链表名称;
	
	list<int> l2(n);
	//创建含有 n 个元素的list
	
	list<int> l3(m,n);
	//创建含有 m 个 n元素 的list
	
	list<int> l4(l3);
	//使用l3初始化l4
	
	list<int> l5(l4.begin(),l4.end());
	//用指针使l4初始化l5

操作


posted @ 2021-07-09 14:59  Rosyr  阅读(183)  评论(1编辑  收藏  举报