STL常用模板

个人笔记,日后相忘
可能难以下咽

#include <algorithm>

sort(a,a+n);
stable_sort(a,a+n); //稳定排序
reverse(a,a+n);//反转

//数组有序 
unnique(a,a+n);//去重	返回尾部指针,注意长度会变化
len = unnique(a,a+n) - a;

//数组有序 log(n)
lower_bound(a,a+n,10);//返回数组中第一个大于等于10的下标
upper_bound(a,a+n,10);//返回数组中第一个大于10的下标
a={1,2,2,3};
i = lower_bound(a,a+4,2)-a;
j = upper_bound(a,a+4,2)-a;
//i=1, j=3, j-i=2(目标元素个数)

next_permutation(a,a+n);//下一个全排列序列
prev_permutation(a,a+n);//上一个全排列序列
//可以处理有重复元素的全排列
while(next_permutation(a,a+n)){	//无下一序列就返回false,否则返回true
	print...
}
//string
string s;
s.length();
s.insert(pos,ch);	//在pos位置插字符ch  效率低
s.append(char*)		//s尾部添加一个字符串

string类可以直接用<, >, ==,比较

s.find(string)		//匹配字符串,返回下标值  若未找到,返回 string::npos
s.substr(pos,len)	//从pos开始截取len长子串

sort(s.begin(),s.end()); //排序

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值