STL_vector

///定义:
/*
    在STL的<vector>头文件中定义了vector(向量容器模版类),
vector容器以连续数组的方式存储元素序列,可以将vector看作是
以顺序结构实现的线性表。当我们在程序中需要使用动态数组时,
vector将会是理想的选择,vector可以在使用过程中动态地增长存储空间。
vector模版类需要两个模版参数,第一个参数是存储元素的数据类型,第二个参数是
存储分配器的类型,其中第二个参数是可选的,如果不给出第二个参数,将使用默认的
分配器。
*/


///代码:

/*
**name:vector
**function;数组操作
*/
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    vector<int>s;
    vector<int>ss(N);
    s[i]                //  直接以下标方式访问容器中的元素
    s.front()           //  返回首元素
    s.back()            //  返回尾元素
    s.push_back(x)      //  向表尾插入元素x
    s.size()            //  返回表长
    s.empty()           //  表为空时,返回真,否则返回假
    s.pop_back()        //  删除表尾元素
    s.begin()           //  返回指向首元素的随机存取迭代器
    s.end()             //  返回指向尾元素的下一个位置的随机存取迭代器
    s.insert(it, val)   //  向迭代器it指向的元素前插入新元素val
    s.insert(it, n, val)//  向迭代器it指向的元素前插入n个新元素val
    s.insert(it, first, last)
//  将由迭代器first和last所指定的序列[first, last)插入到迭代器it指向的元素前面
    s.erase(it)         //  删除由迭代器it所指向的元素
    s.erase(first, last)//  删除由迭代器first和last所指定的序列[first, last)
    s.reserve(n)        //  预分配缓冲空间,使存储空间至少可容纳n个元素
    s.resize(n)
//  改变序列长度,超出的元素将会全部被删除,如果序列需要扩展(原空间小于n),元素默认值将填满扩展出的空间
    s.resize(n, val)
//  改变序列长度,超出的元素将会全部被删除,如果序列需要扩展(原空间小于n),val将填满扩展出的空间
    s.clear()           //  删除容器中的所有元素
    s.swap(v)           //  将s与另一个vector对象进行交换
    s.assign(first, last)
//  将序列替换成由迭代器first和last所指定的序列[first, last),[first, last)不能是原序列中的一部分

//  要注意的是,resize操作和clear操作都是对表的有效元素进行的操作,但并不一定会改变缓冲空间的大小
//  另外,vector还有其他的一些操作,如反转、取反等,不再一一列举
//  vector上还定义了序列之间的比较操作运算符(>、<、>=、<=、==、!=),可以按照字典序比较两个序列。
    return 0;
}

扩展:NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值