X02第二天学习笔记
2024-08-05 10:56:04
发布于:上海
01.动态数组
1-1.动态数组是什么
数组是C语言中的很重要的一种构造类型,最初我们学习的都是静态数组,但是,静态数组有着自己难以改变的缺点——数组长度固定。
一般在静态数组定义后,系统就会为其分配对应长度的连续的专有内存空间,可是,我们都知道,不同的运行样例,所需要的数组长度是不一样的,为了所有样例都可以执行,一般我们会将数组长度设置为一个很大的值,比如:我一般都是借助宏定义直接声明,这个长度是可以满足我日常所需的。虽然这种方式,满足了一般运行的要求,但是它极大的浪费了内存。
1-2动态数组怎么创建
如果要创建一个动态数组,我们需要再创建1个头文件(有万能头包括动态数组头文件):
#include<vector>
这样,我们就可以创建一个动态数组了
1-3.动态数组类型
如果我们要创建动态数组
代码如下:
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<数据类型>数组名称;
return 0;
}
如果我们要做多位动态数组,代码如下:
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<vector<数据类型>>数组名称;
return 0;
}
1-4输入动态数组
如果要输入动态数组,我们需要数组名.push_back(推入元素)
代码如下:
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<int>v;
int n;
cin>>n;
for(int i=0;i<n;i++){
int x;
cin>>x;
v.push_back(x);
}
return 0;
}
这样,输入动态数组就完成了
1-5输出动态数组
如果我们要输出动态数组,就跟普通数组一样,代码如下:
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<int>v;
int n;
cin>>n;
for(int i=0;i<n;i++){
int x;
cin>>x;
v.push_back(x);
}
for(int i=0;i<v.size();i++){
cout<<v[i]<<" ";
}
return 0;
}
1-6函数
v.front()----------返回第一个元素
v.back()---------返回最后一个元素
v.resize(n)----------调整大小为n
v.reserve(n)----------至少存储n个空间
这里空空如也
有帮助,赞一个