Vector的用法

只想用最简单的文字将vector表现出来,仅此而已,我依然是那只刚出发的小菜鸟,每天对自己来说都是新的一天……
//------------------------------------------------------------------------------
// Copyright (C), 2008-2009, Zhengzz Co.,Ltd,All Rights Reserved
//
// FileName:    Vector.cpp
//
// Author:      zhengzz
//
// Date:        2009-06-10
//
// Description: Vector的用法
//
// History:     <author>zhengzongzhao<time>2009-06-10<version>1.0
//
//------------------------------------------------------------------------------
#include <string>
#include <vector>
// 这句一定要加上,否则会出现vector未声明的错误
using namespace std;
int main()
{
    // 声明一个int向量以替代一维数组
    // 即相当于声明一个int数组a[],大小没有指定,可以动态添加或者删除
    vector <int > a;
    int nTemp;
    // push_back
    printf("push_back------------------------------------/n");
    nTemp = 5;
    a.push_back(nTemp);
    printf("a[0]为%d/n",a[0]);
    nTemp = 6;
    a.push_back(nTemp);
    printf("a[1]为%d/n", a[1]);
    // at
    printf("at-------------------------------------------/n");
    printf("位置1的数据位为%d/n",a.at(1));
    // capacity
    printf("capacity-------------------------------------/n");
    printf("当前vector分配的大小为%d/n", a.capacity());
    nTemp = 7;
    a.push_back(nTemp);
    printf("当前vector分配的大小为%d/n", a.capacity());
    // size 和 resize
    printf("size-----------------------------------------/n");
    printf("当前vector使用的数据大小为%d/n", a.size());
    printf("a[2]为%d/n", a[2]);
    a.resize(4);
    printf("当前vector使用的数据大小为%d/n", a.size());
    printf("a[3]为%d/n", a[3]);   // 比当前要大,则填充默认值
    printf("resize---------------------------------------/n");
    a.resize(2);
    printf("当前vector使用的数据大小为%d/n", a.size());
    //printf("a[2]为%d/n", a[2]); // 此时如果加上这句,则会引起访问越界的错误
    // max_size
    printf("max_size-------------------------------------/n");
    printf("vector最大可以为%d/n", a.max_size());
    // reserve
    printf("reserve--------------------------------------/n");
    a.reserve(10);
    printf("当前vector分配的大小为%d/n", a.capacity());
    // printf("a[8]为%d/n", a[8]); // 分配了大小但不代表就能访问的,会产生访问越界
    printf("当前vector使用的数据大小为%d/n", a.size());
    printf("clear----------------------------------------/n");
    a.clear();
    printf("当前vector分配的大小为%d/n", a.capacity());
    printf("当前vector使用的数据大小为%d/n", a.size());
    getchar();
    return 0;
}
其他的一些函数调用:
1.push_back   在数组的最后添加一个数据
2.pop_back    去掉数组的最后一个数据 
3.at                得到编号位置的数据
4.begin           得到数组头的指针
5.end             得到数组的最后一个单元+1的指针
6.front          得到数组头的引用
7.back            得到数组的最后一个单元的引用
8.max_size     得到vector最大可以是多大
9.capacity       当前vector分配的大小
10.size           当前使用数据的大小
11.resize        改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve      改变当前vecotr所分配空间的大小
13.erase         删除指针指向的数据项
14.clear          清空当前的vector
15.rbegin        将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend          将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty        判断vector是否为空
18.swap         与另一个vector交换数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值