C++(STL):24 ---序列式容器stack用法

1.stack的定义

要使用stack,应先添加头文件#include <stack>, 并在头文件下面加上
"using namespace std"
//定义
stack< typename > name;

2. stack容器内元素的访问

由于栈(stack)本书就是一种后进先出的数据结构,在STL的stack中只能
通过top()来访问栈顶元素.
#include <stdio.h>
#include <stack>
using namespace std;
int main() {stack<int> st;for(int i = 1; i <= 5; i++) {st.push(i); //push(i)用以把i压入栈,故此处依次入栈 1 2 3 4 5}printf("%d\n", st.top()); //top取栈顶元素return 0;
}

3. stack常用函数实例解析

(1) push()

//push(x)将x入栈,时间复杂度为O(1)

(2) top()

//top()获得栈顶元素,时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444364.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++(STL):25 ---序列式容器stack源码剖析

一、stack概述 stack是一种先进后出(First In Last Out,FILO)的数据结构。它只有一个出口, 形式如下图所示特点:stack允许新增元素、移除元素、取得最顶端元素。但除了最顶端外,没有任何其他方法可以存取stack的其他元素。换言之stack不允许有遍历行为将元素推入stack的动…

php-protobuf扩展和代码生成工具使用

https://github.com/protocolbuffers/protobuf/releases/tag/v3.5.1 下载选择 https://github.com/protocolbuffers/protobuf/releases/download/v3.5.1/protobuf-php-3.5.1.zip yum install autoconf automake libtool tar -zxvf protobuf-php-3.5.1.tar.gz cd protobuf-3.…

geoip环境配置

1.下载geoip的php扩展库 wget http://pecl.php.net/get/geoip-1.1.1.tgz tar zxvf geoip-1.1.1.tgz cd geoip-1.1.1 phpize ./configure --with-php-config=/usr/bin/php-config --with-geoip make &make install 2.配置php支持geoip扩展 [root]# ll /usr/lib64/php/modul…

leetcode259. 较小的三数之和

给定一个长度为 n 的整数数组和一个目标值 target&#xff0c;寻找能够使条件 nums[i] nums[j] nums[k] < target 成立的三元组 i, j, k 个数&#xff08;0 < i < j < k < n&#xff09;。 示例&#xff1a; 输入: nums [-2,0,1,3], target 2 输出: 2 解…

Struts2和Spring和Hibernate应用实例

Struts2、Spring和Hibernate应用实例Struts作为MVC 2的Web框架&#xff0c;自推出以来不断受到开发者的追捧&#xff0c;得到广泛的应用。作为最成功的Web框架&#xff0c;Struts自然拥有众多的优点&#xff1a;MVC 2模型的使用、功能齐全的标志库&#xff08;Tag Library&…

C++(STL):31 ---关联式容器map源码剖析

map的特性 所有元素都会根据元素的键值自动被排序map中的pair结构 map的所有元素类型都是pair,同时拥有实值(value)和键值(key)pair的第一个元素视为键值,第二个元素视为实值map不允许两个元素拥有相同的键值下面是stl_pair.h中pair的定义://代码摘录与stl_pair.htempla…

leetcode360. 有序转化数组

给你一个已经 排好序 的整数数组 nums 和整数 a、b、c。对于数组中的每一个数 x&#xff0c;计算函数值 f(x) ax2 bx c&#xff0c;请将函数值产生的数组返回。 要注意&#xff0c;返回的这个数组必须按照 升序排列&#xff0c;并且我们所期望的解法时间复杂度为 O(n)。 示…

C++(STL):27 ---关联式容器set源码剖析

一、set set语法使用参阅:set的特性 set所有元素都会根据元素的键值自动被排序set中的键值就是实值,实值就是键值默认情况下set不允许两个元素重复set的迭代器 不能根据set的迭代器改变set元素的值。因为其键值就是实值,实值就是键值,如果改变set元素值,会严重破坏set组织…

C++(STL):28 ---关联式容器map用法

作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,包括 C++ 基本数据类型(int、double 等)、使用结构体或类自定义的类型。 通常情况下,map 容器中存储的各个键值对都选用 string 字符…

C++(STL):26 ---关联式容器set用法

set容器都会自行根据键的大小对存储的键值对进行排序, 只不过 set 容器中各键值对的键 key 和值 value 是相等的,根据 key 排序,也就等价为根据 value 排序。 另外,使用 set 容器存储的各个元素的值必须各不相同。更重要的是,从语法上讲 set 容器并没有强制对存储元素的类…

leetcode387. 字符串中的第一个唯一字符

给定一个字符串&#xff0c;找到它的第一个不重复的字符&#xff0c;并返回它的索引。如果不存在&#xff0c;则返回 -1。 案例: s "leetcode" 返回 0. s "loveleetcode", 返回 2. 注意事项&#xff1a;您可以假定该字符串只包含小写字母。 思路&…

C++(STL):30 ---关联式容器map的operator[]和insert效率对比

通过前面的学习我们知道,map 容器模板类中提供有 operator[ ] 和 insert() 这 2 个成员方法,而值得一提的是,这 2 个方法具有相同的功能,它们既可以实现向 map 容器中添加新的键值对元素,也可以实现更新(修改)map 容器已存储键值对的值。举个例子(程序一): #include …

C++(STL):29 ---关联式容器map 迭代器

无论是前面学习的序列式容器,还是关联式容器,要想实现遍历操作,就必须要用到该类型容器的迭代器。当然,map 容器也不例外。C++ STL 标准库为 map 容器配备的是双向迭代器(bidirectional iterator)。这意味着,map 容器迭代器只能进行 ++p、p++、--p、p--、*p 操作,并且迭…

C++(STL):35---multimap容器

在掌握 C++ STL map 容器的基础上,本节再讲一个和 map 相似的关联式容器,即 multimap 容器。所谓“相似”,指的是 multimap 容器具有和 map 相同的特性,即 multimap 容器也用于存储 pair<const K, T> 类型的键值对(其中 K 表示键的类型,T 表示值的类型),其中各个…

在Spring + Hibernate中使用二级缓存配置步骤

在SSH中用二级缓存大概分以下几步&#xff1a; 1、首先在hbm文件里对涉及到的对象设置缓存方式&#xff0c;或根据情况设置自己需要的 2、在ehcache的配置文件里配置一个cache&#xff0c;name为这个类名 3、在applicationContext.xml的hibernate配置里 hibernate.cache.use_q…

C++(STL):34--- multiset容器详解

前面章节中,对 set 容器做了详细的讲解。回忆一下,set 容器具有以下几个特性: 不再以键值对的方式存储数据,因为 set 容器专门用于存储键和值相等的键值对,因此该容器中真正存储的是各个键值对的值(value);set 容器在存储数据时,会根据各元素值的大小对存储的元素进行…

C++(STL):36---关联式容器multiset、multimap源码剖析

一、multiset multiset的特性以及用法和set完全相同,唯一的差别在于它允许键值重复,因此它的插入操作采用的是底层RB-tree的insert_equal()而非insert_unique() multiset源码 //以下代码摘录于stl_multiset.htemplate <class _Key, class _Compare, class _Alloc>clas…

leetcode 455. 分发饼干

假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。对每个孩子 i &#xff0c;都有一个胃口值 gi &#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j &#xff0c;都有一个尺寸 sj 。…

C++(STL):33---hash_set、hash_map、hash_multiset、hash_multimap源码剖析

这些关联容器底层都是使用hash table实现的.一、hash_set 由于hash_set底层是以hash table实现的,因此hash_set只是简单的调用hash table的方法即可与set的异同点:hash_set与set都是用来快速查找元素的但是set会对元素自动排序,而hash_set没有hash_set和set的使用方法相同在…

leetcode402. 移掉K位数字

给定一个以字符串表示的非负整数 num&#xff0c;移除这个数中的 k 位数字&#xff0c;使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。 示例 1 : 输入: num "1432219", k 3 输出: "1219" 解释: 移除掉三个数字…