阅读 179

16.7.2【列表list容器的赋值和交换、大小操作】

16.7.2【列表list容器的赋值和交换、大小操作】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<code-pre class="code-pre" id="pre-ZnQTsw"><code-line class="line-numbers-rows"></code-line>#include<iostream>
<code-line class="line-numbers-rows"></code-line>#include<cstdlib>
<code-line class="line-numbers-rows"></code-line>using namespace std;
<code-line class="line-numbers-rows"></code-line>#include <list>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>/*
<code-line class="line-numbers-rows"></code-line>    3.7.3 list赋值和交换
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>        给list容器进行赋值,以及交换list容器
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>        assign(beg, end); //将[beg, end)区间中的数据拷贝赋值给本身。
<code-line class="line-numbers-rows"></code-line>        assign(n, elem); //将n个elem拷贝赋值给本身。
<code-line class="line-numbers-rows"></code-line>        list& operator=(const list &lst); //重载等号操作符。
<code-line class="line-numbers-rows"></code-line>        swap(lst); //将lst与本身的元素互换。
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    3.7.4 list大小操作
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>        对list容器的大小进行操作
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>        size(); //返回容器中元素的个数
<code-line class="line-numbers-rows"></code-line>        empty(); //判断容器是否为空
<code-line class="line-numbers-rows"></code-line>        resize(num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。
<code-line class="line-numbers-rows"></code-line>                     //如果容器变短,则末尾超出容器长度的元素被删除。
<code-line class="line-numbers-rows"></code-line>        resize(num, elem); //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。
<code-line class="line-numbers-rows"></code-line>                           //如果容器变短,则末尾超出容器长度的元素被删除。
<code-line class="line-numbers-rows"></code-line>*/
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>void print_list(const list<int> & L)
<code-line class="line-numbers-rows"></code-line>{
<code-line class="line-numbers-rows"></code-line>    for(list<int>::const_iterator cit=L.begin(); cit!=L.end(); cit++)
<code-line class="line-numbers-rows"></code-line>    {
<code-line class="line-numbers-rows"></code-line>        cout << *cit << " ";
<code-line class="line-numbers-rows"></code-line>    }
<code-line class="line-numbers-rows"></code-line>    cout << endl;
<code-line class="line-numbers-rows"></code-line>}
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>void test373_1()
<code-line class="line-numbers-rows"></code-line>{
<code-line class="line-numbers-rows"></code-line>    list<int> l1;
<code-line class="line-numbers-rows"></code-line>    l1.push_back(10);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(20);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(30);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(40);
<code-line class="line-numbers-rows"></code-line>    print_list(l1);
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    //赋值
<code-line class="line-numbers-rows"></code-line>    list<int> l2;
<code-line class="line-numbers-rows"></code-line>    l2 = l1;
<code-line class="line-numbers-rows"></code-line>    print_list(l2);
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    list<int> l3;
<code-line class="line-numbers-rows"></code-line>    l3.assign(l1.begin(), l1.end());
<code-line class="line-numbers-rows"></code-line>    print_list(l3);
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    list<int> l4;
<code-line class="line-numbers-rows"></code-line>    l4.assign(10, 999);
<code-line class="line-numbers-rows"></code-line>    print_list(l4);
<code-line class="line-numbers-rows"></code-line>}
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>void test373_2()
<code-line class="line-numbers-rows"></code-line>{
<code-line class="line-numbers-rows"></code-line>    list<int> l1;
<code-line class="line-numbers-rows"></code-line>    l1.push_back(10);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(20);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(30);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(40);
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    list<int> l2;
<code-line class="line-numbers-rows"></code-line>    l2.assign(10, 999);
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    cout << "交换前:" << endl;
<code-line class="line-numbers-rows"></code-line>    print_list(l1);
<code-line class="line-numbers-rows"></code-line>    print_list(l2);
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    l1.swap(l2); //互换
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    cout << "交换后:" << endl;
<code-line class="line-numbers-rows"></code-line>    print_list(l1);
<code-line class="line-numbers-rows"></code-line>    print_list(l2);
<code-line class="line-numbers-rows"></code-line>}
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>void test374()
<code-line class="line-numbers-rows"></code-line>{
<code-line class="line-numbers-rows"></code-line>    list<int> l1;
<code-line class="line-numbers-rows"></code-line>    l1.push_back(10);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(20);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(30);
<code-line class="line-numbers-rows"></code-line>    l1.push_back(40);
<code-line class="line-numbers-rows"></code-line>    print_list(l1);
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    if(l1.empty())
<code-line class="line-numbers-rows"></code-line>    {
<code-line class="line-numbers-rows"></code-line>        cout << "l1为空" << endl;
<code-line class="line-numbers-rows"></code-line>    }
<code-line class="line-numbers-rows"></code-line>    else
<code-line class="line-numbers-rows"></code-line>    {
<code-line class="line-numbers-rows"></code-line>        cout << "l1不为空" << endl;
<code-line class="line-numbers-rows"></code-line>        cout << "l1元素个数:" << l1.size() << endl;
<code-line class="line-numbers-rows"></code-line>    }
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    l1.resize(10); //新指定大小 > 原大小,默认用0填充多出来的位置
<code-line class="line-numbers-rows"></code-line>    print_list(l1);
<code-line class="line-numbers-rows"></code-line>    l1.resize(20, 8); //新指定大小 > 原大小,指定值8填充多出来的位置
<code-line class="line-numbers-rows"></code-line>    print_list(l1);
<code-line class="line-numbers-rows"></code-line>    l1.resize(2); //新指定大小 < 原大小,删除多出来的元素
<code-line class="line-numbers-rows"></code-line>    print_list(l1);
<code-line class="line-numbers-rows"></code-line>}
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>int main()
<code-line class="line-numbers-rows"></code-line>{
<code-line class="line-numbers-rows"></code-line>    test373_1();
<code-line class="line-numbers-rows"></code-line>    test373_2();
<code-line class="line-numbers-rows"></code-line>    test374();
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line>    system("pause");
<code-line class="line-numbers-rows"></code-line>    return 0;
<code-line class="line-numbers-rows"></code-line>}
</code-pre>

  

来源:https://www.cnblogs.com/yppah/p/14755277.html

服务器评测 http://www.cncsto.com/ 

 服务器测评http://www.cncsto.com/ 


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐