C++ 学习笔记
C++ 的学习笔记
zh_94
这个作者很懒,什么都没留下…
展开
-
C++ STL 之 vector
vector 是 C++ 对数据结构动态数组的实现。要使用 vector,请在程序头添加:#include <vector> using name space std; vector 对象的定义与初始化vector<int> v; //定义一个空 vector 对象vector<int> v(10); //定义一个具有 10 个元素的 vecto...原创 2019-03-13 15:04:52 · 585 阅读 · 0 评论 -
C++ STL 之 string
string 是 C++ 对数据结构字符动态数组的实现。要使用 string,请在程序头添加:#include <string>using name space std;string 对象的定义与初始化string<int> s; 定义一个空 string 对象string<int> s(3,'a'); s = “aaa”string<int...原创 2019-04-12 09:27:58 · 474 阅读 · 0 评论 -
C++ STL 之 multimap
阅读此篇前若有需要请先参看 C++ STL 容器 map 的介绍。map 中不允许存在相同的元素,而 multimap 允许。这一设计上改变也带来一些使用上的不同。访问 multimap 中的元素由于 multimap 中允许存在关键字值相同的元素。因此我们很难想象通过下标访问会发生什么,实际上 multimap 并不允许通过下标来访问其中的元素。由于 map 中的元素是依照 index 的...原创 2019-03-13 15:02:00 · 355 阅读 · 0 评论 -
C++ STL 之 heap
C++ 中的 heap 并不是一个单独的 STL 容器,而是基于 vector 的一系列算法。需要引入头文件#include <algorithm>构造堆使用 make_heap(beg, end)将迭代器范围 [beg, end)内的元素调整为一个堆( beg 为堆顶)。vector<int> v {5, 3, 6, 4, 7, 2, 1};make_heap(...原创 2019-03-13 15:00:43 · 449 阅读 · 0 评论 -
C++ STL 之 deque
deque 是 C++ 对数据结构双端队列的实现。要使用 deque,请在程序头添加:#include <deque>using name space std;deque 对象的定义与初始化deque<int> dq; //定义一个空 deque 对象deque<int> dq(10); //定义一个具有 10 个元素的 deque 对象(int 型...原创 2019-03-13 14:59:31 · 452 阅读 · 0 评论 -
C++ 可调用对象
在使用一些基于范围的模板函数时(如 sort()、all_of()、find_if() 等),常常需要我们传入一个可调用对象,以指明我们需要对范围中的每个元素进行怎样的处理。可调用对象可以是函数、函数指针、lambda表达式、bind创建的对象或者重载了函数调用运算符的类。函数bool cmp(const int &a, const int &b) { return a &l...原创 2019-03-13 14:53:17 · 2772 阅读 · 0 评论 -
C++ STL 之 map
map 是“关键字——值”对的集合。即map<index, value>其中 index 和 value 可以是各种类型,如 int, char, string,甚至是 STL 容器对象。map 中的元素默认按 index 的增序进行排序,故要求 index 能够进行排序,这也意味着 map 中不存在两个元素拥有相同的 index。定义map<strin...原创 2018-08-27 21:17:11 · 329 阅读 · 0 评论 -
C++ STL 之 set
set 是数学中“集合”概念的实现,故 set 中不会存在任意两个相同的元素。定义set<int> set_1初始化由于 set 中不允许有重复的元素,故 set 对象只接受列表初始化(C11 标准支持),如set<int> set_1={ 1, 2, 3 };如列表中有重复的值,set 对象中只会保留其中的一个set<int>...原创 2018-08-27 15:25:20 · 1158 阅读 · 0 评论 -
C++ 查找对象算法
C++ 的查找算法用于在一个指定序列中搜索一个指定值或者一个值序列。算法1:查找特定元素find (beg, end, val)查找由迭代器beg和end所指示的序列中第一个等于val的元素,返回该元素的迭代器。find_if (beg, end, unaryPred)查找由迭代器beg和end所指示的序列中第一个满足一元谓词 unaryPred 的元素,返回该元素的迭...原创 2018-08-20 15:38:03 · 769 阅读 · 0 评论 -
C++ 读取一行输入到数组
#include<iostream>#include<string>#include<sstream>#include<vector>using namespace std;int main() { string line; getline(cin, line); stringstream ss(line); vector&l...原创 2018-08-06 20:15:52 · 13488 阅读 · 1 评论 -
C++重载vector按行输入输出
重载vector的输入/输出符,使得:输入:读取一行输入,以空格分开各元素。输出:输出vector中的各元素,以空格分开,结尾不输出空格。#include<iostream>#include<vector>#include<string>#include<sstream>using namespace std;istrea...原创 2018-08-05 08:49:46 · 1945 阅读 · 0 评论