码迷,mamicode.com
首页 > 编程语言 > 详细

STL_算法_06_遍历算法

时间:2016-03-04 14:32:33      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

1、

1.1、第6讲 PPT.42

◆ for_each() :  用指定函数依次对指定范围内所有元素进行迭代访问。该函数不得修改序列中的元素。

ZC: VC6 测试代码:

 1 #ifdef WIN32
 2 #pragma warning (disable: 4786)
 3 #endif
 4 
 5 #include <string>
 6 #include <vector>
 7 #include <set>
 8 
 9 #include <algorithm>    // 算法
10 #include <numeric>    // 算法
11 #include <functional>    // 算法
12 
13 using namespace std;
14 
15 void Show(const int &iItem)
16 {
17     //cout << iItem;
18     printf("iItem : %d\n", iItem);
19 }
20 
21 void main()
22 {
23     int iArray[] = {0,1,2,3,4};
24     vector<int> vecInt(iArray, iArray+sizeof(iArray)/sizeof(iArray[0]));
25     for_each(vecInt.begin(), vecInt.end(), Show);
26 }

ZC:控制台输出:

1 iItem : 0
2 iItem : 1
3 iItem : 2
4 iItem : 3
5 iItem : 4
6 Press any key to continue

 

 

1.2、第6讲 PPT.42

◆ transform() :   与for_each类似,遍历所有元素,但可对容器的元素进行修改

ZC: VC6 测试代码:

 1 #ifdef WIN32
 2 #pragma warning (disable: 4786)
 3 #endif
 4 
 5 #include <string>
 6 #include <vector>
 7 #include <set>
 8 
 9 #include <algorithm>    // 算法
10 #include <numeric>    // 算法
11 #include <functional>    // 算法
12 
13 using namespace std;
14 
15 int Increase (int i)  
16 {  
17     return i+1;   
18 }  
19 
20 void main()
21 {
22     vector<int> vecIntA;
23     vecIntA.push_back(1);
24     vecIntA.push_back(3);
25     vecIntA.push_back(5);
26     vecIntA.push_back(7);
27     vecIntA.push_back(9);
28 
29     transform(vecIntA.begin(), vecIntA.end(), vecIntA.begin(), Increase);    //vecIntA : {2,4,6,8,10}
30 
31     int iIdx = 0;
32     vector<int>::iterator it = vecIntA.begin();
33     while (it != vecIntA.end())
34     {
35         printf("[%02d] ==> %d\n", iIdx, *it);
36         it ++;
37     }
38 }

ZC:控制台输出:

1 [00] ==> 2
2 [00] ==> 4
3 [00] ==> 6
4 [00] ==> 8
5 [00] ==> 10
6 Press any key to continue

 

 

 

 

 

?.?、第6讲 PPT.?

◆ 

ZC: VC6 测试代码:

ZC:控制台输出:

 

X

 

STL_算法_06_遍历算法

标签:

原文地址:http://www.cnblogs.com/cppskill/p/5241967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!