关闭

STL系列之stack

标签: stack
202人阅读 评论(0) 收藏 举报
分类:

    栈(stack),这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器标准的容器类模板vectordequelist可以使用。默认情况下,如果没有容器类被指定成为一个提别的stack 类,标准的容器类模板就是deque 队列。作为底部结构,再将接口改变,使之符合栈的特性就可以了。在STL中栈一共就5个常用操作函数(push()、pop()、top()、size()、empty() )。

1、入栈:如s.push(x)。

2、出栈:如s.pop()。注意:出栈操作只是删除栈顶的元素,并不返回该元素。

3、访问栈顶:如s.top()。

4、判断栈空:如s.empty(),当栈空时返回true。

5、元素个数:如s.size()。


#include <iostream>
#include <stack>
#include <tchar.h>
using namespace std;  

int _tmain(int argc, _TCHAR* argv[])
{
	stack<int> tmp;//定义一个栈
	for(int i=0; i<10; i++)
	{
		tmp.push(i);
	}
	stack<int> s(tmp);//复制stack

	cout << "count of stack:" << s.size() << endl;

	while(!s.empty())
	{
		printf("%d\n", s.top());
		s.pop();
		cout << "stack size:" << s.size() << endl;
	}

	return 0;
}


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

c++ stl栈容器stack用法介绍

stack堆栈容器 堆栈是一个线性表,插入和删除只在表的一端进行。这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom)。堆栈的元素插入称为入栈,元素的删除称为出栈。由于元素的入栈和出栈总在栈顶进行,因此,堆栈是一个后进先出(Last In First Out)表...
  • lyj2014211626
  • lyj2014211626
  • 2017-03-27 08:49
  • 1801

c++ stl栈容器stack的pop(),push()等用法介绍及头文件

c++ stl栈stack介绍C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。c++ stl栈stack的头文件为:#include c++ stl栈stack的成员函数介绍操作 ... c++ stl栈stac...
  • Xwxcy
  • Xwxcy
  • 2016-01-21 16:46
  • 1347

STL常用容器总结——stack栈

原文 栈中的数据是先进后出(FILO),栈只有一个出口,添加和移除元素都只能在栈顶操作。在STL中,栈是以别的容器作为底部结构,修改接口使其符合栈的特性。默认情况下,栈使用deque作为其底层数据结构,也可以指定使用vector或list等。 栈常用的函数有: 1.数据操作 stk.top() 返...
  • sinat_30071459
  • sinat_30071459
  • 2016-04-14 09:13
  • 1632

C++ —— 数据结构之 顺序栈,链式栈?

尝试使用C++实现简单数据结构:栈!目的:重新认知。。。 实验一:顺序栈 实验二:链栈 实验三:STL中的stack
  • yjhdxflqm
  • yjhdxflqm
  • 2016-01-25 12:01
  • 326

STL中stack与queue库函数 的使用方法

 1、stack stack 模板类的定义在头文件中。 stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要 的,在不指定容器类型时,默认的容器类型为deque。 定义stack 对象的示例代码如下: stack s1; stack s2; st...
  • jiangchenmiao
  • jiangchenmiao
  • 2017-04-23 17:22
  • 582

c++ stl栈容器stack的pop(),push()等用法介绍及头文件

c++ stl栈stack介绍 C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。 c++ stl栈stack的头文件为:  #include   c++ stl栈stack的成员函数介绍 操作 ...
  • l494926429
  • l494926429
  • 2016-07-29 17:22
  • 9447

STL源码剖析——stack的实现原理和使用方法详解

Stack 简介     stack 是堆栈容器,是一种“先进后出”的容器。     stack 是简单地装饰 deque 容器而成为另外一种容器。     使用 stack 时需要加上头文件 #include 。 stack 实现原理 ...
  • baidu_28312631
  • baidu_28312631
  • 2015-08-27 16:48
  • 1035

STL系列之二 stack栈

栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就...
  • u010781856
  • u010781856
  • 2015-06-03 10:30
  • 249

STL系列之二 stack栈

栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就...
  • tjut9mmhnp
  • tjut9mmhnp
  • 2015-03-19 20:57
  • 237

STL系列之二 stack栈

STL系列之二 stack栈 标签: reference数据结构vectorclassinsertlist 2011-11-09 09:03 48644人阅读 评论(15) 收藏 举报 本文章已收录于: 分类: STL 他山之石(10)...
  • cf406061841
  • cf406061841
  • 2017-05-17 13:42
  • 192
    个人资料
    • 访问:264519次
    • 积分:4671
    • 等级:
    • 排名:第7263名
    • 原创:201篇
    • 转载:66篇
    • 译文:0篇
    • 评论:46条
    最新评论