1 #include<iostream>
2 #include<stdlib.h>
3 using namespace std;
4 #include<deque>
5 #include<algorithm>
6
7
8 /*
9 3.3.6 deque数据存取
10 at(int idx); //返回索引idx所指的数据
11 operator[]; //返回索引idx所指的数据
12 front(); //返回容器中第一个数据元素
13 back(); //返回容器中最后一个数据元素
14
15 3.3.7 deque排序
16 利用算法实现对deque容器进行排序
17 sort(iterator beg, iterator end) //对beg和end区间内元素进行排序
18 */
19
20
21 void pd(const deque<int> & d)
22 {
23 for(deque<int>::const_iterator it=d.begin(); it!=d.end(); it++)
24 {
25 cout << *it << " ";
26 }
27 cout << endl;
28 }
29
30
31 void test336()
32 {
33 deque<int> d1;
34 d1.push_back(10);
35 d1.push_back(20);
36 d1.push_back(30);
37 d1.push_front(100);
38 d1.push_front(200);
39 d1.push_front(300);
40
41 //通过迭代器访问deque容器中的元素
42 pd(d1);
43
44 //通过[]访问deque容器中的元素
45 for(int i=0; i<d1.size(); i++)
46 {
47 cout << d1[i] << " ";
48 }
49 cout << endl;
50
51 //通过at访问deque容器中的元素
52 for(int i=0; i<d1.size(); i++)
53 {
54 cout << d1.at(i) << " ";
55 }
56 cout << endl;
57
58 cout << "first:" << d1.front() << endl;
59 cout << "last:" << d1.back() << endl;
60 }
61
62
63 void test337()
64 {
65 deque<int> d1;
66 d1.push_back(10);
67 d1.push_back(20);
68 d1.push_back(30);
69 d1.push_front(100);
70 d1.push_front(200);
71 d1.push_front(300);
72
73 cout << "before sort:" << endl;
74 pd(d1);
75
76 sort(d1.begin(), d1.end());
77 //注意包含头文件<algorithm>;sort算法默认升序
78 //支持随机访问迭代器的容器,均可利用sort算法对其进行排序,例如vector等
79
80 cout << "after sort:" << endl;
81 pd(d1);
82 }
83
84
85 int main()
86 {
87 test336();
88 test337();
89
90 system("pause");
91 return 0;
92 }
