stl
文章平均质量分 65
IT_xiaolaoshu
Big_laoshu
展开
-
C++ STL 之 lower_bound and upper_bound
头文件:#include< algorithm > 1.lower_bound (first, last, const_val) 返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置2.upper_bound(first, last, const_val) 返回大于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下原创 2017-10-25 18:14:49 · 259 阅读 · 0 评论 -
STL之set
set就是数学上的集合,每个元素最多只能出现一次。 和sort一样,自定义类型也可以构造set,但是同样必须定义‘小于’ 运算符 set底层采用红黑书实现,拥有平衡二叉树搜索结构,所以在搜索时,效率会比较高 头文件:#include<set> 1.初始化及其赋值 (1)insert(key_value) 将key_value插入到set中 ,返回值是 pair < set::iterat原创 2017-10-26 16:22:30 · 258 阅读 · 0 评论 -
STL之栈stack,队列queue以及优先队列
STL提供了3种特殊的数据结构:栈,队列与优先队列。1.STL的栈 所谓栈就是符合“后进先出”规则的数据结构,(就像把东西放在一个没有盖子的桶子里面,要想取出底面的元素,必须先将上面的东西取出来,才能操作)STL中栈定义在头文件< stack>中栈的声明:stack< int >s栈的基本操作:push()和pop()实现元素的入栈和出栈操作,top()取栈顶元素(但不删除)示例代码://原创 2017-11-12 11:06:06 · 425 阅读 · 0 评论 -
STL之list操作
STL中的list就是一双向链表,可高效地进行插入删除元素。双向列表: 双向链表(Double Linked List) :指的是构成链表的每个结点中设立两个指针域:一个指向其直接前趋的指针域prior, 一个指向其直接后继的指针域next。 声明:#include<list>1.list赋值:添加删除操作a.push_back(num):在末尾添加一个元素numa.pop_back():原创 2017-12-02 14:12:45 · 534 阅读 · 0 评论 -
STL_不定长数组-vector
vector是一个模板类。vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素(当程序所需要数组大小不确定的时候,使用它可以节省不少空间)。此外, vector 也提供了许多的方法来对自身进行操作所需头文件:#include< vector >using namespace std;1. 声明://声明一维数组的各种...原创 2017-10-25 20:42:02 · 783 阅读 · 0 评论 -
STL_map操作
map是STL的一个关联容器。提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,而且是按照key值的升序(从小到大)排列。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型...原创 2017-10-23 17:38:52 · 343 阅读 · 0 评论 -
CCF-201503-2-数字排序
原文:试题编号:201503-2试题名称:数字排序时间限制:1.0s内存限制:256.0MB问题描述:问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出...原创 2018-02-20 10:06:30 · 664 阅读 · 0 评论