博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ STL(2)
阅读量:6074 次
发布时间:2019-06-20

本文共 3187 字,大约阅读时间需要 10 分钟。

Vector:

 

1 #include "stdafx.h" 2 #include
3 #include
4 #include
5 using namespace std; 6 int main() 7 { 8 vector
v = { 10,98,76,66,67,66,90 }; 9 cout << "排序前的数组: ";10 for (int elem : v) {11 cout << elem << " "; //如何输出12 }13 cout << endl;14 stable_sort(v.begin(), v.end()); //此排序方式为稳定排序,适用于v中有相同元素,如上面有2个66的情况,15 //这样就不会改变两个66的相对位置。如果没有重复元素的话,用sort(v.begin(), v.end())方可 16 cout << "排序后的数组: ";17 for (int elem : v) {18 cout << elem << " "; //如何输出19 }20 cout << endl;21 fill(v.begin()+2, v.end(), 54); //填充22 cout << "此时的数组: "; 23 for (int elem : v) {24 cout << elem << " "; //如何输出25 }26 cout << endl;27 fill_n(v.begin(), 3, 8); //填充的另一种方式28 cout << "此时的数组: ";29 for (int elem : v) {30 cout << elem << " "; //如何输出31 }32 cout << endl;33 return 0;34 }

 

 

对于上述输出方式的演变如下:现在用(3)即可

(1)

 

1 for_each (int elem in v) 2 {3        cout << elem << " ";  4 }

 

(2)

1 for_each (v.begin(),v.end(),[](int elem) 2 {3        cout << elem << " "; 4 }

(3)

 

1 for (int elem : v) 2 {3        cout << elem << " ";4 }

 

 

字符串大写变小写:

1 #include "stdafx.h" 2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 int main() 8 { 9 string s1 = "hello world.";10 string s2;11 transform(s1.begin(), s1.end(), s2.begin(), toupper); //同样大写变小写就是tolower12 cout << s1 << endl;13 }

 

二分查找:

 

1 #include "stdafx.h" 2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 int main() 8 { 9 vector
v= { 10,98,76,45,66,67,90 };10 if (binary_search(v.begin(), v.end(),67))11 cout << "Exits!" << endl;12 else13 cout << "Didn't exits!" << endl;14 }

 

数列反转:

 

1 #include "stdafx.h" 2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 int main() 8 { 9 vector
v= { 10,98,76,45,66,67,90 };10 cout << "反转前的数列为: ";11 for (int elem : v) 12 {13 cout << elem << " "; 14 }15 cout << endl;16 reverse(v.begin(), v.end());17 cout << "反转后的数列为: ";18 for (int elem : v) 19 {20 cout << elem << " "; 21 }22 cout << endl;23 return 0;24 }

 

 

条件分区:

 

1 #include "stdafx.h" 2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 int main() 8 { 9 vector
v = { 1,2,3,4,5,6,7,8,9 };10 stable_partition(v.begin(), v.end(), [](int elem)11 {12 return elem % 2 == 0;13 }); 14 for (int elem : v)15 {16 cout << elem << " ";17 }18 cout << endl;19 return 0;20 }

 

运行结果:

 

转载于:https://www.cnblogs.com/Trojan00/p/9040446.html

你可能感兴趣的文章
spark高级排序彻底解秘
查看>>
ylbtech-LanguageSamples-PartialTypes(部分类型)
查看>>
福建省促进大数据发展:变分散式管理为统筹集中式管理
查看>>
开发环境、生产环境、测试环境的基本理解和区别
查看>>
tomcat多应用之间如何共享jar
查看>>
Flex前后台交互,service层调用后台服务的简单封装
查看>>
MySQL入门12-数据类型
查看>>
Windows Azure 保留已存在的虚拟网络外网IP(云服务)
查看>>
修改字符集
查看>>
HackTheGame 攻略 - 第四关
查看>>
js删除数组元素
查看>>
带空格文件名的处理(find xargs grep ..etc)
查看>>
华为Access、Hybrid和Trunk的区别和设置
查看>>
centos使用docker下安装mysql并配置、nginx
查看>>
关于HTML5的理解
查看>>
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
第六周
查看>>