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

C++常用的STL

2014-08-06 22:37 316 查看
队列:

1、queue<>q 常用操作:

(1) q.front() 取队首元素;

(2)q.pop()删除队首元素;

(3)q.empty()判断队列是否为空;

(4)q.push()往队列插入一个元素,插到队尾

2、deque<>q(双向队列) 常用操作:

(1)q.empty()判断对列是否为空;

(2)q.front()得到队首元素;

(3)q.back()得到队尾元素;

(4)q.pop_back()删除队尾元素;

(5)q.pop_front()删除队首元素;

(6)q.push_back()往队尾中插入一个元素;

(7)q.push_front()往队首中插入一个元素;

3、priority_queue<>q (优先队列)常用操作:

(1)q.top()取队首元素;

(2)q.pop()删除队首元素;

(3)q.push()往队列中插入一个元素(自动回按照优先级排序);

(4)q.empty()判断队列是否为空;

(5)priority_queue<int, vector<int> ,greater<int> >Q; (小顶堆)

(6)priority_queue<int, vector<int> ,less<int> >Q; (大顶堆)

集合:集合实际上是棵红黑树,里面的元素是按照优先级排好的;

1、set<>S(不会出现相同元素)常用操作:

(1)S.insert()插入一个元素;

(2)S.erase()删除一个元素;

(3)S.count()判断某个元素在集合中的出现次数(1为出现,0为没有出现);

(4)S.find()在集合中查找某个元素,返回迭代器指针(返回S.end()时,则未找到);

(5)、S.clear()清空集合;

2、multiset<>S(多重集合,允许相同元素出现)常用操作与set<>S类似;

可变长数组vector<>G:

常用操作:

(1)、G.push_back()插入一个元素;

(2)、G.clear()清空G;

(3)、G[i]得到第i个元素(i从0开始);

(4)、G.size()可变长数组当前长度;

(5)、sort(G.begin(),G.end(),less<int>()) 从小到大排序;

(6)、sort(G.begin(),G.end(),greater<int>()) 从大到小排序;

栈:stack<>S常用操作:

(1)、S.push()栈中压入一个元素;

(2)、S.top()得到栈顶元素;

(3)、S.pop()弹出栈顶元素;

(4)、S.empty()栈是否为空;

map<>G常用的映射关系<int, int>,<string,int>,<char,int>;常用操作:

(1)、G.clear()清空;

(2)、G.count()返回某个关键字出现的次数;

map中的元素是按照关键字排好序的;

string str常见用法:

(1)、str.length() / str.size()得到字符串长度;

(2)、str.find()查找某段字符串或某个字母,返回第一次出现的下标,没有则返回-1;(参数可以是字符,也可以是字符串,还可以有三个参数,表示从某个特定的段中寻找)

(3)、str.substr()得到字符串的一个子串,参数可以是一个整数pos,返回pos到结尾处的子串;也可以是两个整数,返回两整数之间的子串;

sort()按关键字排序;

bool cmp(int a, int b){

return a < b;

}

lower_bound(a,a+n,x)数组a到a+n中值大于等于x的第一个元素的值;

unique(a,a+n)剔除相邻之间重复的字符;(注意是相邻的)

next_permutation(a,a+n)求下一个排列;

与字符串有关的函数

strstr()函数用来检索子串在字符串中首次出现的位置;

其原型为: char
*strstr( char *str, char * substr );

strrchr() 函数用于查找某字符在字符串中最后一次出现的位置;

其原型为:char
* strrchr(const char *str, int c);

strchr() 用来查找某字符在字符串中首次出现的位置;

其原型为:char
* strchr (const char *str, int c);

与字符处理处理有关的函数

int tolower(int );

int toupper(int);

int isalpha(int );

int iscntrl(int);

int isdigit(int );

isgraph(int );

int lslower(int );

int isalnum(int);

isprint(int );

ispunct(int); 是否是标点字符

int isspace(int);

int isupper(int);

int isxdigit(int); 是否是16进制

c++ string操作

char数组装string

char s[];

string t = s;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: