[C++STL]
介绍C++STL
唐火
开始人工智能之路了!!!
展开
-
[C++STL]常用查找算法
代码如下:#include <iostream>#include <algorithm>#include <vector>#include <string>using namespace std;class GreaterFive{public: bool operator()(int a) { return a > 5; }};void test01(){ vector<int>v; for (int原创 2021-06-14 12:00:09 · 198 阅读 · 5 评论 -
[C++STL]常用集合算法
代码如下:#include <iostream>#include <vector>#include <numeric>#include <algorithm>using namespace std;class myPrint{public: void operator()(int val) { cout << val << " "; }};void test01(){ vector<int&原创 2021-06-14 11:45:00 · 511 阅读 · 15 评论 -
[C++STL]常用算术生成算法
代码如下:#include <iostream>#include <vector>#include <numeric>using namespace std;void test01(){ vector<int>v; for (int i = 0; i < 10; i++) { v.push_back(i); } int total = accumulate(v.begin(), v.end(), 0); cout <原创 2021-06-14 11:43:27 · 272 阅读 · 7 评论 -
[C++STL]常用拷贝和替换算法
代码如下:#include <iostream>#include <algorithm>#include <vector>#include <ctime>using namespace std;void myPrint(int val){ cout << val << " ";}void test01(){ vector<int>v1; for (int i = 0; i < 10; i+原创 2021-06-14 11:41:57 · 176 阅读 · 10 评论 -
[C++STL]常用排序算法
代码如下:#include <iostream>#include <algorithm>#include <vector>using namespace std;void myPrint(int val){ cout << val << " ";}void test01(){ vector<int>v; v.push_back(10); v.push_back(30); v.push_back(50);原创 2021-06-14 11:38:16 · 368 阅读 · 11 评论 -
[C++STL]常用遍历算法
代码如下:#include <iostream>#include <algorithm>#include <vector>using namespace std;void print01(int val){ cout << val << " ";}class print02{public: void operator()(int val) { cout << val << " "; ..原创 2021-06-14 11:29:49 · 121 阅读 · 0 评论 -
[C++STL]仿函数用法介绍
代码如下:#include <iostream>#include <string>using namespace std;//函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值class MyAdd{public: int operator()(int a, int b) { return a + b; }};void test01(){ MyAdd myAdd; cout << myAdd(10, 10) <.原创 2021-06-14 11:29:42 · 166 阅读 · 0 评论 -
[C++STL]map容器用法介绍
代码如下:#include <iostream>#include <string>#include <map>using namespace std;void printMap(map<int,int>&m){ for (map<int, int>::iterator it = m.begin(); it != m.end(); it++) { cout << "key = " << it-..原创 2021-06-14 11:29:28 · 124 阅读 · 0 评论 -
[C++STL]set容器用法介绍
代码如下:#include <iostream>#include <set>using namespace std;void printSet(set<int>&s){ for (set<int>::iterator it = s.begin(); it != s.end(); it++) { cout << *it << " "; } cout << endl;}void test..原创 2021-06-13 17:25:47 · 131 阅读 · 0 评论 -
[C++STL]list容器用法介绍
代码如下:#include <iostream>#include <string>#include <list>using namespace std;void printList(const list<int>&L){ for (list<int>::const_iterator it = L.begin(); it != L.end(); it++) { cout << *it <&l...原创 2021-06-13 16:23:53 · 127 阅读 · 7 评论 -
[C++STL]queue容器用法介绍
原创 2021-06-13 13:19:44 · 108 阅读 · 0 评论 -
[C++STL]stack容器用法介绍
原创 2021-06-13 13:18:25 · 162 阅读 · 0 评论 -
[C++STL]deque容器用法介绍
代码如下:#include <iostream>#include <string>#include <deque>using namespace std;void printDeque(const deque<int>& d){ for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++) { cout << *it <&l原创 2021-06-13 13:17:02 · 221 阅读 · 0 评论 -
[C++STL]string容器用法介绍
string构造函数代码如下:#include <iostream>#include <string>using namespace std;void test01(){ string s1; cout << "s1 = " << s1 << endl; const char *str = "hello world"; string s2(str); cout << "s2 = " << s2 ..原创 2021-06-13 10:26:44 · 226 阅读 · 0 评论 -
[C++STL]vector容器用法介绍
代码如下:#include <iostream>#include <string>#include <vector>using namespace std;void printVector(vector<int >&v){ for (vector<int>::iterator it = v.begin(); it != v.end(); it++) { cout << *it << " ...原创 2021-06-13 12:26:24 · 156 阅读 · 0 评论 -
[C++STL]C++实现unordermap容器和unorderset容器
代码如下:#include <iostream>#include <vector>using namespace std;template<typename K,typename V,typename KeyOfValue>class HashTable;//声明template<typename V>struct HashNode{ typedef HashNode<V> Node; V _val; Node * _n原创 2021-05-28 19:44:44 · 227 阅读 · 0 评论 -
[C++STL]C++ 实现map容器和set容器
代码如下:#pragma once#include <iostream>using namespace std;enum COLOR{ BLACK, RED};template<class V>//迭代器声明,定义在后面struct RBTreeIterator;template<typename V>struct RBTreeNode{ RBTreeNode<V> * _parent; RBTreeNode<V>原创 2021-05-28 10:37:30 · 134 阅读 · 0 评论 -
[C++STL]C++实现priority_queue容器适配器
代码如下:#pragma once#include <iostream>#include <vector>using namespace std;template<typename T>struct Less{ bool operator()(const T &a, const T &b) { return a < b; }};template<typename T>struct Greater{ b原创 2021-05-24 22:46:03 · 91 阅读 · 1 评论 -
[C++STL]C++实现queue容器适配器
代码如下:#include <iostream>#include <deque>using namespace std;template<typename T,typename Con = deque<T>>class Queue{public: Queue(){} void Push(const T & x) { _c.push_back(x); } void Pop() { _c.pop_front();原创 2021-05-24 18:07:34 · 108 阅读 · 0 评论 -
[C++STL]C++实现stack容器适配器
代码如下:#include <iostream>#include <deque>using namespace std;template<typename T,typename Con = deque<T>>class Stack{public: Stack() {} void Push(const T &x) { _c.push_back(x); } void Pop() { _c.pop_back(); }原创 2021-05-24 17:54:00 · 78 阅读 · 0 评论 -
[C++STL]C++实现list容器
代码如下:#pragma once#include <iostream>using namespace std;template<typename T>struct ListNode{ T _data; ListNode<T> *_next; ListNode<T> *_prev; ListNode(const T & val = T()) :_data(val), _next(nullptr), _prev(nullptr)原创 2021-05-24 13:40:35 · 254 阅读 · 6 评论 -
[C++STL]C++实现vector容器
代码如下:#pragma once#include <iostream>#include <assert.h>using namespace std;template<typename T>class Vector{public: typedef T* iterator; typedef const T* const_iterator; Vector() :_start(nullptr), _finish(nullptr), _endOfStor原创 2021-05-23 22:33:40 · 141 阅读 · 0 评论 -
[C++STL]C++实现string容器
代码如下:#pragma once#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <assert.h>#include <cstring>using namespace std;class String{public: String(const char *str = "") { assert(str != nullptr); _size = strlen(str);原创 2021-05-23 20:03:01 · 112 阅读 · 0 评论