STL_Learning
LzyRapX
Just For Fun .
展开
-
vector::capacity
vector::capacity(容量)Return size of allocated storage capacityReturns the size of the storage space currently allocated for the vector, expressed in terms of elements.This capacity is not原创 2016-07-23 12:55:27 · 392 阅读 · 0 评论 -
vector容器 begin()与end()函数、front()与back()的用法
向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似,数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了,例如,int a[6];而vector是动态分配内存,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量,vector容器的容量增长是按照容器现在容量的一倍进行增长。begin函数原创 2016-07-07 19:23:51 · 20955 阅读 · 1 评论 -
*max_element
std::max_element#include#includeusing namespace std;int main(){ int n[]={1,4,22,3,8,5}; int len=sizeof(n)/sizeof(int); cout<<*max_element(n,n+len)<<endl; cout<<*min_element(n,n+len)<<endl;原创 2016-07-26 20:50:17 · 897 阅读 · 0 评论 -
std::unique (去重)
std::unique#include#include#include#includeusing namespace std;typedef int I;typedef char C;typedef int ARR[10];#define N 3#define X(a,b) (((a)+(b))*3)bool myFunction(I a,I b){ return a原创 2016-07-24 18:33:06 · 4194 阅读 · 0 评论 -
lower_bound
函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标则pos = lower_bound( number, num原创 2016-07-24 17:36:06 · 476 阅读 · 0 评论 -
常用的 STL 查找算法
常用的 STL 查找算法常用的 STL 查找算法《effective STL》中有句忠告,尽量用算法替代手写循环;查找少不了循环遍历,在这里总结下常用的STL查找算法;查找有三种,即点线面:点就是查找目标为单个元素;线就是查找目标为区间;面就是查找目标为集合;针对每个类别的查找,默认的比较函数是相等,为原创 2016-04-03 10:49:54 · 509 阅读 · 0 评论 -
STL中的map用法详解
STL中map用法详解 说明:如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。本人水平有限,不当之处,望大家辅正。一.Map概述Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候原创 2016-05-15 01:14:50 · 1134 阅读 · 0 评论 -
STL--- map的用法
最全的c++map的用法Map是STL[1] 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在m原创 2016-04-21 20:23:21 · 465 阅读 · 0 评论 -
C++ STL--stack/queue 的使用方法
C++ STL--stack/queue 的使用方法:1、stackstack 模板类的定义在头文件中。stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack 对象的示例代码如下:stack s1;stack s2;stack 的基本操作有:入栈,如例:s.push原创 2016-03-07 20:57:24 · 697 阅读 · 0 评论 -
STL中的Pair方法详解
类模板:template struct pair参数:T1是第一个值的数据类型,T2是第二个值的数据类型。功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。具体用法:1.定义(构造):1 pairint, double> p1; //使用默认构造函数原创 2016-05-15 00:15:21 · 22452 阅读 · 4 评论 -
vector::back
Access last elementReturns a reference to the last element in the vector.Unlike member vector::end, which returns an iterator just past this element, this function returns a direct reference.Cal原创 2016-07-07 19:30:42 · 824 阅读 · 0 评论 -
vector::at
Access element :Returns a reference to the element at position n in the vector.The function automatically checks whether n is within the bounds of valid elements in the vector, throwing anou原创 2016-07-04 23:01:09 · 395 阅读 · 0 评论 -
vector::begin
Return iterator to beginningReturns an iterator pointing to the first element in the vector.Notice that, unlike member vector::front, which returns a reference to the first element, this functio原创 2016-07-23 12:39:15 · 389 阅读 · 0 评论 -
vector::cbegin (c++11)
//其实这个和begin差不多,只是具有了const属性,不能用于修改元素而已。public member functionstd::vector::cbeginconst_iterator cbegin() const noexcept;Return const_iterator to beginningReturns a const_iterat原创 2016-07-23 15:04:39 · 1465 阅读 · 0 评论 -
vector::cend (c++ 11)
public member functionstd::vector::cendconst_iterator cend() const noexcept;Return const_iterator to endReturns a const_iterator pointing to the past-the-end element in the contain原创 2016-07-23 15:18:40 · 715 阅读 · 0 评论 -
vector::clear ,vector::crbegin (c++11),vector::crend(c++11)
vector::clear// clearing vectors#include #include using namespace std;int main (){ vector myvector; myvector.push_back (100); myvector.push_back (200); myvector.push_back (300); co原创 2016-07-23 15:33:55 · 399 阅读 · 0 评论 -
vector::empty ,vector::end , vector::erase
vector::empty// vector::empty#include #include using namespace std;int main (){ vector myvector; int sum (0); for(int i=1;i<=10;i++) myvector.push_back(i); while (!myvector.empty())原创 2016-07-23 20:09:59 · 520 阅读 · 0 评论 -
vector::insert, vector::max_size, vector::operator=
vector::insert// vector::get_allocator#include #include using namespace std;int main (){ vector myvector (3,100); //原始 vector::iterator it; it = myvector.begin(); it = myvector.ins原创 2016-07-23 22:53:23 · 521 阅读 · 0 评论 -
STL-vector用法介绍
介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能原创 2016-04-15 22:46:30 · 3822 阅读 · 0 评论 -
vector::assign
Assign vector contentAssigns new contents to the vector, replacing its current contents, and modifying its size accordingly.// vector assign(分配):将新内容分配给vector,替换其当前内容,并相应地修改它的大小。#include #incl原创 2016-07-04 22:28:52 · 1224 阅读 · 0 评论 -
Construct vector (构建vector)
#include #include using namespace std;int main (){ //简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 // constructors used in the same order as described above: vector first;原创 2016-07-04 20:26:13 · 711 阅读 · 0 评论 -
STL中的set容器的用法
1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让原创 2016-09-16 18:13:47 · 2811 阅读 · 0 评论