cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size

cb11a_c++_顺序容器的操作4
 2 容器大小的操作
 3 c.size() 容器当前的个数
 4 c.max_size(),容器最大存储量
 5 c.empty() 是否为空
 6 c.resize(n)  //调整存储数据的大小至n
 7 c.resize(n,t) //多一个参数t,将所有新添加的元素初始化为t。
 8 
 9 注意:resize操作可能会使迭代器失效
 1 /*cb11a_c++_顺序容器的的操作4
 2 容器大小的操作
 3 c.size() 容器当前的个数
 4 c.max_size(),容器最大存储量
 5 c.empty() 是否为空
 6 c.resize(n)  //调整存储数据的大小至n
 7 c.resize(n,t) //多一个参数t,将所有新添加的元素初始化为t。
 8 
 9 注意:resize操作可能会使迭代器失效
10 */
11 
12 #include <iostream>
13 #include <vector>
14 #include <list>
15 #include <deque>
16 
17 using namespace std;
18 
19 int main()
20 {
21     list<int> ilist;
22     ilist.push_back(10);
23     ilist.push_back(20);
24     ilist.push_back(30);
25 
26     cout << "ilist容器的个数:" << ilist.size() << endl;
27     
28     list<int>::size_type count = ilist.size();//返回结果:size_type
29     cout << "ilist容器的个数:" << count << endl;
30 
31     cout << "容器的max_size: " << ilist.max_size() << endl;
32 
33     if (ilist.empty())
34     {
35         cout << "ilist容器是空的" << endl;
36     }
37     else
38         cout << "ilist容器不是空的" << endl;
39 
40     //调整存储的大小
41     ilist.resize(10);//前3个有数据,后面7个都是0
42     for (list<int>::iterator iter = ilist.begin();
43         iter != ilist.end(); ++iter)
44         cout << *iter << endl;
45     ilist.resize(20, 6);//20个数后面的,后面10个数是6
46     cout << "调整容量为20后:" << endl;
47     for (list<int>::iterator iter = ilist.begin();
48         iter != ilist.end(); ++iter)
49         cout << *iter << endl;
50     
51     ilist.resize(2);//只存储2个数
52     cout << "调整容量为2后:" << endl;
53     for (list<int>::iterator iter = ilist.begin();
54         iter != ilist.end(); ++iter)
55         cout << *iter << endl;
56     ilist.resize(0);//里面数据清空了,为0
57     cout << "调整容量为0后:" << endl;
58     for (list<int>::iterator iter = ilist.begin();
59         iter != ilist.end(); ++iter)
60         cout << *iter << endl;
61     if (ilist.empty())
62     {
63         cout << "ilist容器是空的" << endl;
64     }
65     else
66         cout << "ilist容器不是空的" << endl;
67 
68     vector<int> ivec(10,42);//10个42
69     ivec.resize(15);
70     ivec.resize(25);//总共25个的大小
71     ivec.resize(5);//调整为只有5个数大小
72     ivec.resize(0);//清空,数据数量0
73 
74     //c.resize(n,t) //多一个参数t,将所有新添加的元素初始化为t。
75     ivec.resize(3, 8);//3个数据,默认都是8,3个8.
76 
77     cout << "vector数据显示:" << endl;
78     for (size_t iv = 0; iv != ivec.size(); ++iv)
79         cout << ivec[iv] << endl;
80 
81 
82 
83     return 0;
84 }
欢迎讨论,相互学习。 txwtech@163.com
原文地址:https://www.cnblogs.com/txwtech/p/12312908.html