16.3.4【deque容器数据存取、排序】

复制代码
 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 }
复制代码

 

posted @   yub4by  阅读(180)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示