C++入门笔记 数组

本文详细介绍了数组的概念,包括一维和二维数组的初始化及内存管理。此外,还探讨了C++中的模板类vector和array作为数组替代品的使用,如动态扩展、赋值操作和容器管理功能。vector提供了push_back、resize等方法,而array适用于固定长度的内存栈分配。这些内容涵盖了数组和动态容器的基础到进阶应用。
摘要由CSDN通过智能技术生成

数组

一种数据格式,能够储存多个同类型的值

typeName arrayName[arraySize]

初始化

int card[4]={3,6,8,10};
int hand[4];
for(i=0;i<4;i++){
	hand[i]=i;
	}
float hotelTips[5]={5.0,2.5};
//初始化提供的值可以少于元素数目

数组名称:

  1. 可以统计整个数组在内存中的长度
 sizeof(hand)/sizeog(hand[0]);
  1. 可以获取数组在内存中的首地址

二维数组

typeName arrayName[row][column];
typeName arrayName[row][column]={{data1,data2},{data3,data4}};
typeName arrayName[row][column]={data1,data2,data3,data4};
typeName arrayName[][column]={data1,data2,data3,data4};

数组的替代品

模板类vector
单端数组,可以动态扩展
创建vector容器

vector<typeName> vt(num);//储存num个类型为typeName的元素

四种赋值操作

//赋值操作
	vector<int> v1;
	for (int i = 0; i < 10; i++)
	{
		v1.push_back(i);
	}

	vector<int>v2;
	v2 = v1;

	vector<int>v3;
	v3.assign(v1.begin(), v1.end());

	vector<int>v4;
	v4.assign(10, 100);

相关功能

empty();//判断容器是否为空
capacity();//容器的容量
size();//返回容器中元素的个数
resize(int num);
//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。
//如果容器变短,则末尾超出容器长度的元素被删除。
resize(int num, elem);
//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。
//如果容器变短,则末尾超出容器长度的元素被删除

插入与删除

push_back(ele);//尾部插入元素ele
pop_back();//删除最后一个元素
insert(const_iterator pos, ele);//迭代器指向位置pos插入元素ele
insert(const_iterator pos, int count,ele);
//迭代器指向位置pos插入count个元素ele
erase(const_iterator pos);//删除迭代器指向的元素
erase(const_iterator start, const_iterator end);
//删除迭代器从start到end之间的元素
clear();//删除容器中所有元素
//迭代器类似于指针,用来访问容器中的元素
vector<int>::iterator i;//迭代器定义

模板类array
如果需要长度固定的数组,使用array,使用栈静态分配内存。
要创建array对象

#include <array>
array<int,5>ai={1, 2, 3, 4, 5};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值