#include <iostream> #include <vector> #include <map> #include <unordered_map> #include <algorithm> using namespace std; void OutPut(char val) { cout << val << ' '; } int main(int argc, char const *argv[]) { vector<char> cVec; cVec.push_back('Z'); cVec.push_back('D'); cVec.push_back('W'); cVec.push_back('S'); cVec.push_back('J'); cVec.push_back('A'); cVec.push_back('U'); cout << "用C++11 for(:)進行遍歷" << endl; cout << "向量排序前:\n"; for(auto x : cVec){ OutPut(x); } // algorithm內的函數模板 底層仍是for(begin,!=end) cout << endl << endl << "用algorithm內的函數模板for_each進行遍歷:" << endl; for_each(cVec.begin(), cVec.end(), [](char val){cout << val << ' ';}); //for_each(cVec.begin(), cVec.end(), OutPut); // 排序 sort(cVec.begin(), cVec.end()); cout << endl << endl << "向量排序後:\n"; for(auto x : cVec){ OutPut(x); } // for_each(cVec.begin(), cVec.end(), OutPut); // algorithm內的函數模板 // map cout << endl; cout << endl; cout << "map示例:" << endl; map<int, int> imap; //multimap<int, int> imap; //unordered_map<int, int> imap; //imap.insert(unordered_map<int, int>::value_type(100, 1000)); // 三種方式插入 imap.insert(make_pair(1, 10)); imap.insert(make_pair(4, 40)); imap.insert(make_pair(5, 50)); imap.insert(make_pair(9, 90)); imap.insert(map<int, int>::value_type(8, 800)); imap.insert(pair<int,int>(2,20)); // 若是須要更改值的話,用引用for(auto& it : imap) for(auto it : imap) { cout << "Key:" << it.first << " --> Value:" << it.second << "\n"; } cout << endl; system("pause"); return 0; }