stl库

C++STL库和算法库备忘录

//stack和queue都没有迭代器,只有一些相关的操作
for_each(迭代器1,迭代器2,执行函数)//for_each算法函数,三个函数,只能在STL容器中使用。
vector<int> v;
//迭代器的定义
vector<int>::iterator i=v.begin();//迭代器可以看成C里的指针,i++,取数的话*i

vector容器的相关算法

vector<int>v;
vector<int>vx(v.begin(),v.end());//区间默认构造容器,或者vx.assgin(v.begin(),v.end())
vector<int>vx(num,elem);//默认构造num个elem,或者vx.assign(num,elem)
vector<int>vx(v);//拷贝构造
vector<int>vx=v;//直接复制
v.at(i);//访问某下标元素
v[i];
v.push_back(elem);//在末尾加入元素
vector<int>v1;
vector<int>v2;
v1.swap(v2);//将两个容器中的元素互换
v.reserve(num);//预留num个空间
v.empty();//容器判空
maxsize=v.capacity();//容器的总大小
length=v.size();//容器的现有元素个数
v.resize(p1,p2);//重新规定容器的maxsize,p1表示maxsize,剩余空间使用p2填充
v.resize(p1);//p1<length时,编译器会自动删除多余元素
v.pop_back(void);//删除容器尾部,没有返回值
v.insert(p1,elem);//在p1位置插入元素elem,p1必须时迭代器
v.insert(p1,num.elem);//在p1位置插入num个elem
v.erase(v.begin());//删除v的空间 

string容器的相关算法

string str1(str2);//string容器的定义
string str1("sasasasas");
str1.assign("sasaa",num);//取前num个字符
str1.assign(num,char);//初始话为num个char
str1.append("sas",num);//str1添加前num个字符
str1.append("asaaas",index,num);//从下标index开始,添加num个字符
str1.compare(str2);//两个字符串相互比较
string=str1.substr(index,num);//从index开始截取num个字符
string=str1.erase(index,num);//从index开始删除num个字符
string=str1.insert(index,char);//在下标index插入char
int=str.find(char);//从左到右找到字符,并且返回下标
int=str.rfind(char);//从右到左找到字符,并且返回下标
str.replace(index,num,"sas");//从index开始后num个字符被sas替换

原文链接: https://www.cnblogs.com/tgfoven/p/17025023.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    stl库

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/309532

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 上午11:07
下一篇 2023年2月16日 上午11:07

相关推荐