STL --> stack栈

摘要:
堆栈<int,列表<int>>a;堆栈<int,向量<int>>b;inti;//按下{a.push;b.push;}//的数据堆栈大小printf//获取堆栈项数据并在(!

stack栈

   c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO),使用该容器时需要包含#include<stack>头文件;

数据结构stack

定义stack对象示例:

stack<int>s1;
stack<string>s2;

stack的基本操作:

     s.empty()               如果栈为空返回true,否则返回false  
     s.size()                返回栈中元素的个数  
     s.pop()                 删除栈顶元素但不返回其值  
     s.top()                 返回栈顶的元素,但不删除该元素  
     s.push()                在栈顶压入新元素  

stack的使用范例:

 //栈 stack支持 empty() size() top() push() pop()
 // by MoreWindows(http://blog.csdn.net/MoreWindows)
 #include <stack>
 #include <vector>
 #include <list>
 #include <cstdio>
 using namespace std;
 int main()
 {
     //可以使用list或vector作为栈的容器,默认是使用deque的。
     stack<int, list<int>>      a;
     stack<int, vector<int>>   b;
     int i;
     
     //压入数据
     for (i = 0; i < 10; i++)
     {
         a.push(i);
         b.push(i);
     }
 
     //栈的大小
     printf("%d %d
", a.size(), b.size());
 
     //取栈项数据并将数据弹出栈
     while (!a.empty())
     {
         printf("%d ", a.top());
         a.pop();
     }
     putchar('
');
 
     while (!b.empty())
     {
         printf("%d ", b.top());
         b.pop();
     }
     putchar('
');
     return 0;
 }

免责声明:文章转载自《STL --&amp;gt; stack栈》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇吉特仓库管理系统-ORM框架的使用转 Android 4.0后,自定义Title报错 You cannot combine custom titles with other title feature下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

03点云文件常用格式转换(pcd,txt,ply,obj,stl)

1.  pcd转txt 1 #include <iostream> 2 #include <fstream> 3 #include <pcl/io/pcd_io.h> 4 5 int main(int argc, char *argv[]) 6 { 7 8 pcl::PointClou...

山寨STL实现之allocator

作为一个山寨的STL,那么不得不提的是其中的allocator(空间配置器)。顾名思义,它是负责空间分配用的,下面代码十分简单,仅对C函数malloc和free进行了薄薄的一层封装,同时给定了自定义函数free_handler用于在空间分配时候由于内存被占满了而导致的分配失败。这里值得注意的是:这个释放函数的函数指针应该是由调用方来负责指定,并且它仅有一个...

CPP常用库函数以及STL

其他操作 memset void * memset ( void * ptr, int value, size_t num ); memset(ptr,0xff,sizeof(ptr)); 使用memset初始化vector vector<int> vec(10,1); memset(vec.data(),0,vec.size()*sizeo...

[C++ STL] vector使用详解

一、概述 vector(向量): 是一种序列式容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组(动态数组),它的随机访问快,在中间插入和删除慢,但在末端插入和删除快。 二、定义及初始化 使用之前必须加相应容器的头文件: #...

C++的标准模板库STL中实现的数据结构之顺序表vector的分析与使用

摘要本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解,即联系数据结构的理论分析和具体的应用实现(STL),本文是系列总结的第一篇,主要针对线性表中的顺序表(动态数组)STL vector进行分析和总结。 引言由于前段时间对台大的机器学习基石和技法课程进行了学习,发现在具体的实现中常常涉及到各种类型的数据结构,比...

算法竞赛专题解析(5):简单数据结构

本系列是这本算法教材的扩展资料:《算法竞赛入门到进阶》(京东当当 ) 清华大学出版社如有建议,请联系:(1)QQ 群,567554289;(2)作者QQ,15512356 目录 1 链表 1.1 动态链表 1.2 用结构体实现单向静态链表 1.3 用结构体实现双向静态链表 1.4 用一维数组实现单向静态链表 1.5 STL list 1.6 链表习题...