中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++ 中STL的遍歷算法有哪些

發布時間:2020-12-17 16:37:00 來源:億速云 閱讀:146 作者:Leah 欄目:開發技術

c++ 中STL的遍歷算法有哪些?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

需要引入頭文件#include<algorithm>

1.for_each

#include<iostream>
using namespace std;
#include <vector>
#include <algorithm>

class MyPrint {
public:
 void operator()(int val) const{
  cout << val << " ";
 } 
};

void printVector(int val) {
 cout << val << " ";
}

void test() {
 vector<int> v1;
 for (int i = 0; i < 10; i++)
 {
  v1.push_back(i);
 }
 //利用普通函數
 for_each(v1.begin(), v1.end(), printVector);
 cout << endl;
 //利用仿函數
 for_each(v1.begin(), v1.end(), MyPrint());
 cout << endl;
}


int main() {
 test();
 system("pause");
 return 0;
}

2.transform:將容器搬運到另一個容器中

#include<iostream>
using namespace std;
#include <vector>
#include <algorithm>

class Transform {
public:
 int operator()(int val) const{
  //這里可以對val進行一些判斷
  return val;
 } 
};
class MyPrint {
public:
 void operator()(int val) const {
  cout << val << " ";
 }
};

void test() {
 vector<int> v1;
 for (int i = 0; i < 10; i++)
 {
  v1.push_back(i);
 }
 vector<int> v2;
 //目標容器需要先開辟空間
 v2.resize(v1.size());
 transform(v1.begin(), v1.end(), v2.begin(), Transform());
 for_each(v2.begin(), v2.end(), MyPrint());
 cout << endl;
}


int main() {
 test();
 system("pause");
 return 0;
}

關于c++ 中STL的遍歷算法有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锡林浩特市| 延川县| 鹰潭市| 全南县| 韶关市| 绥阳县| 新龙县| 巫山县| 崇阳县| 河南省| 山阴县| 鸡西市| 班戈县| 凭祥市| 五台县| 万州区| 锡林郭勒盟| 庄浪县| 上饶市| 科尔| 闸北区| 隆昌县| 葫芦岛市| 郓城县| 蓬安县| 金昌市| 丹东市| 阳春市| 宁蒗| 四子王旗| 黄梅县| 温州市| 禹州市| 台前县| 那曲县| 蓝山县| 西平县| 牡丹江市| 城市| 云南省| 邳州市|