动态数组初学
作者为新手刚开始学,很多地方不太懂,可有有一些地方说的不太对如果有不对的地方希望大家可以提出来,写这篇文章主要用于记笔记不要喷作者哦!
#include<iostream>
#include<vector>
#include<iomanip>
using namespace std;
struct Student{
int m_id;
string m_name;
};
int main()
{
//创造一个动态数组 vector< x > a;(注意包含头文件<vector>)
// x 数据类型可以为自己定义的结构体
// a为名称
vector<int> v1;
//添加数据用 push_back(x); (可以看成一个v1类的成员函数,利用 . 调用)
// x 为添加的数据;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
//vector 长度可以用 a.size(); a为名称
int a = v1.size();
//删除数据可以用pop(删除数组最后一个数据 及只能在尾端操作) a.pop_back() a为//名称 (同样可以看成vec类的成原函数)
v1.pop_back();
//调用动态数组时和普通数组一样 注:动态数组与普通数组一样下表时从零开始的,
//而且不要访问未开辟的空间 如push_back()两次不要访问v1[3],v1[4]否则回报内存错误
for(int i=0;i<v1.size();i++)
{
cout << v1[i] << endl;
}
// clear()作用为清除 但不会释放内存 好像把size变成零,而数组内的元素不变