C++ 数组

数组定义

静态数组(固定长度):

type var_name[size];

其中type定义了数组的基本数据类型,即各元素的数据类型,size定义了数组的元素数目。必须是常数或常数变量。

动态数组(不定长度):

(1)new方法

一维数组:

cin<<size;

type* var_name = new type[size];

其中new本就是用来开辟动态空间的,这里可看作是分配了一个大小为size的未初始化的type类型的数组,并返回指向该数组第一个元素的指针

该方法存在的缺陷是无法直接获取到数组的长度,此时的指针不是数组的名字,仅是数组第一个元素

此时的sizeof(var_name)/sizeof(var_name[0]) = 1

同时该方法需要delect释放空间

多维数组:

for (int i = 0; i < size; i++) {

    p[i] = new int[Column];

}

(2)vector方法

vector(向量)是一个封装了动态大小数组的顺序容器(Sequence Container),可以看做是一个能够存放任意类型的动态数组

基本操作:

1)创建vector对象:vector<type> vec_name;

2)尾部插入数字:vec_name.push_back(a);

3)使用下标访问元素,vec_name[0]

4)使用迭代器访问元素

vector<int>::iterator it;

for(it=vec_name.begin();it!=vec_name.end();it++)

cout<<*it<<endl;

5)插入元素:    vec_name.insert(vec.begin()+i,a);在第i+1个元素前面插入a;

6)删除元素:    vec_name.erase(vec.begin()+2);删除第3个元素

vec_name.erase(vec_name.begin()+i,vec_name.end()+j);删除区间[i,j-1];区间从0开始

7)向量大小:vec_name.size();

8)清空:vec_name.clear();

该方法存在的问题

较之new数组方法效率低,https://blog.csdn.net/chhuach2005/article/details/21281933







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值