关于编程输入以及输入不确定数组的总结

  • Post author:
  • Post category:其他


一、使用cin输入时,分为两种情况:

1、输入一行

cin>>a>>b;

输入的格式为 a b空格隔开,Enter结束

2、输入多行,元素不确定时

(1)vector<int> v(n)

for(int i=0;i<n;i++)

cin>>v[i];//或者是scanf(&v[i])

(2)

vector<int> v;

int x;

while(cin>>x)

v.push_bash(x);

3、动态数组的话

(1)一维数组

cin >> n>>k;

int *a=new int[n];

int *b=new bool[k];

delete []a;

delete []b;

(2)二维数组

int  **a=new int *[n];// int*[n] 表示有n个指针数组

for(int i=0;i<n;i++)

p[i]=new int[5];

二、vector使用

1、可以直接 vector<int> a(n ),表示当前vector有n个元素了

capacity(),当前已分配的内存中能容纳多少元素

resize(n),强制把容器改为容纳n个元素。如n>size(),则多出的可分为设定值,默认为0,若小于,则舍弃尾部数据

reserve(n),强制调整capacity,若n小于capacity,n不小于当前大小。


可以使用数组初始化vector,如:

int a[5]={0,1,2,3,4};

vector<int> v(a,a+5);

2、二维vector也可以使用下标访问

vector<vector<int>> array(5)

for(int i=0;i<array.size();i++)    
    array[i].resize(3)

array[i][j]=n;

//或者这样 有10行5列,  ()里的意思为10行,5列,每一列初始化为5
vector<vector<int> > xx(10, vector<int>(5));



版权声明:本文为u012686154原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。