C++ STL容器操作大全

需积分: 9 2 下载量 79 浏览量 更新于2024-09-10 收藏 383KB PDF 举报
C++STL操作大全 C++ STL(Standard Template Library)是C++标准库中的一个组件,提供了大量的泛型容器、算法和迭代器,帮助开发者快速构建高效、可靠的应用程序。下面是C++ STL中的一些重要知识点: 一、Vector Vector是C++ STL中的一个序列容器,提供了动态数组的功能。其主要特点是可以动态增长或缩小,且提供了随机访问的功能。 * vector声明:`vector<类型> Vectorname` * vector操作: + `v.front()`: 返回对第一个元素的引用 + `v.back()`: 返回对最后一个元素的引用 + `v.clear()`: 清空vector + `v.empty()`: 如果为空,返回true,否则返回false + `v.begin()`: 返回指向第一个元素的迭代器 + `v.end()`: 返回指向最后一个元素的迭代器 + `v.pop_back()`: 删除vector的最后一个元素 + `v.push_back(value)`: 将value放到vector的最后 + `v.size()`: 返回vector中元素的个数 + `v.rbegin()`: 返回指向末尾的逆向迭代器 + `v.rend()`: 返回指向开头之前位置的逆向迭代器 + `v.erase(loc)`: 删除loc所指元素,并返回下一元素迭代器 + `v.erase(start,end)`: 删除[start,end)元素,并返回最后被删除元素的下一个迭代器 + `v.insert(loc,value)`: 在loc位置插入一个value并返回其迭代器 + `v.insert(loc,num,value)`: 在loc位置插入num个value + `v.insert(loc,start,end)`: 在loc位置插入[start,end)间的元素 * vector算法: + `v.erase(unique(v.begin(),v.end()),v.end())`: 对vector进行排重 + `v.erase(remove(v.begin(),v.end(),value),v.end())`: 删除vector中值为value的元素 + `sort(v.begin(),v.end())`: 对vector进行从小到大排序 二、Stack Stack是C++ STL中的一个适配器容器,提供了一个后进先出的栈结构。 * stack声明:`stack<类型名[,存储容器]> Stackname` * stack操作: + `s.empty()`: 栈空返回true,否则返回false + `s.pop()`: 移除堆栈中最顶层元素 + `s.push()`: 压栈 + `s.size()`: 返回当前栈中的元素个数 + `s.top()`: 引用栈顶元素 三、Queue Queue是C++ STL中的一个适配器容器,提供了一个先进先出的队列结构。 * queue声明:`queue<类型名[,存储容器]> Queuename` * queue操作: + `q.empty()`: 队列空返回true,否则返回false + `q.pop()`: 移除队列中最前面的元素 + `q.push()`: 将元素压入队列 + `q.size()`: 返回当前队列中的元素个数 + `q.front()`: 引用队列最前面的元素 + `q.back()`: 引用队列最后面的元素 C++ STL提供了丰富的容器和算法,帮助开发者快速构建高效、可靠的应用程序。