18.3.2【STL常用排序算法merge、reverse】

复制代码
 1 #include<iostream>
 2 #include<cstdlib>
 3 using namespace std;
 4 #include<algorithm>
 5 #include<vector>
 6 
 7 
 8 /*
 9     5.3.3 merge
10         两个容器元素合并,并存储到另一容器中
11         merge(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest);
12         // 容器元素合并,并存储到另一容器中
13         // 注意: 两个容器必须是有序的
14         // beg1 容器1开始迭代器 // end1 容器1结束迭代器 // beg2 容器2开始迭代器 // end2 容器2结束迭代器 //
15         dest 目标容器开始迭代器
16         merge合并的两个容器必须的有序序列
17 
18     5.3.4 reverse
19         将容器内元素进行反转
20         reverse(iterator beg, iterator end);
21         // 反转指定范围的元素
22         // beg 开始迭代器
23         // end 结束迭代器
24         reverse反转区间内元素,面试题可能涉及到
25 */
26 
27 
28 void myprint(int val)
29 {
30     cout << val << " ";
31 }
32 
33 
34 void test533()
35 {
36     vector<int> v1;
37     vector<int> v2;
38     for(int i=0; i<10; i++)
39     {
40         v1.push_back(i);
41         v2.push_back(i+1);
42     }
43 
44     vector<int> v_target;
45     v_target.resize(v1.size() + v2.size());
46 
47     merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v_target.begin());
48 
49     for_each(v_target.begin(), v_target.end(), myprint);
50     cout << endl;
51 }
52 
53 
54 void test534()
55 {
56     vector<int> v1;
57     for(int i=0; i<10; i++)
58     {
59         v1.push_back(i);
60     }
61 
62     cout << "反转前:" << endl;
63     for_each(v1.begin(), v1.end(), myprint);
64     cout << endl;
65 
66     reverse(v1.begin(), v1.end());
67 
68     cout << "反转后:" << endl;
69     for_each(v1.begin(), v1.end(), myprint);
70     cout << endl;
71 }
72 
73 
74 int main()
75 {
76     test533();
77     test534();
78 
79     system("pause");
80     return 0;
81 }
复制代码

 

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