您的位置:首页 > 编程语言 > C语言/C++

初学C++模板

2016-08-06 22:40 211 查看
排序与检索 sort()排序,lower_bound()检索

lower_bound(a,a+n,x)-a;用于查找大余或等于x的第一个位置。

template typename

我试了一下sort函数,从小到大排序,double类型的6.0,cout 输出6

voctor<typename> 名称 eg. vector <int> a 定义不定长的数组a//注意只写数组名,若写为a[maxn]则为二维数组。

a.size()读取它的大小

a.resize()改变它的大小

a.push_back()向尾部添加元素

a.pop_back()删除最后一个元素

也可以vector<string> str 定义不定长的字符串数组

string 中有s.length();

映射 map

map<string,int>month_name 表示名字到月份的编号

month_name["July"]=7

集合set

栈 stack

队列 queue

priporty_queue<int> pq

pq是一个“越小的整数的优先级越底的队列”

出栈方式由queue的front()变为了top()。

priority_queue<int,vector<int>,cmp> pq;

越小的整数优先级越大的优先队列 可以写成 priority_queue<int,vector<int>,greater<int> > pq;

queue头文件提供的priority_queue<int> s 用push()和pop()进行元素的入队和出队,top()取首元素单步删除。

coefficient coeff系数

set<int> s s.count(x) count()是用来判断元素在集合s中出现的次数,在这里是判断x在集合s中是否出现过。

s.insert(key_value)将key_value的值插入到集合中

cstdlib中的rand()函数产生随机数,rand()%n 或者 rand()/RAND_MAX再扩大n倍,一般会在开始前执行一次

srand(time(NULL)),目的是初始化函数,其中time(NULL)在ctime头文件中。只需在函数开始调用一次srand().

vector<int> v v.begin() v.end() 引用调用vector避免了复制传值

vector是一个能存放任意类型的动态数组

algorithm(算法)、container(容器)和iterator(迭代器)

assrt(表达式) assert宏 当表达式为真时无变化,当表达式为假时强行终止程序,并且给出错误提示。

我正在学习c++呢,听见打鼾声,原来室友睡着了,今天就到这,刚刚好。明天复习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: