基本算法知识
我是一片小树叶
树叶虽小,我心很大
展开
-
c++ 之STL算法总览
表格中将所有的 STL 算法的名称、用途、文件分布等等,依算法名称的字母顺序列表。表格中凡是不在 STL 标准规格之列的 SGI 专属算法,都以 * 加以表示。算法名称算法用途质变所在文件accumulate元素累计否<stl_numeric.h>adjacent_difference相邻元素的差额是 if in-place<s...原创 2019-11-03 23:00:18 · 274 阅读 · 0 评论 -
c++中string的用法
一、初始化初始化有两种方式,其中使用等号的是拷贝初始化,不使用等号的是直接初始化。string str1 = &amp;amp;amp;amp;amp;amp;quot;hello world&amp;amp;amp;amp;amp;amp;quot;; //str1 = &amp;amp;amp;amp;amp;amp;quot;hello world&amp;amp;amp;amp;amp;amp;quot;s原创 2018-09-01 14:21:22 · 48957 阅读 · 12 评论 -
c++ 之vector用法
本文以int类型为例,其他类型大同小异-一、定义及初始化vector&amp;lt;int&amp;gt; vec; //声明一个int型向量vector&amp;lt;int&amp;gt; vec(8); //声明一个初始大小为8的int向量vector&原创 2018-09-03 23:57:34 · 8038 阅读 · 4 评论 -
C++ 之list用法
使用 list 时,需包含有文件< list>.一、定义及初始化// 默认构造函数,长度为0 list<int> lis1; // 定长构造函数及初始值 list<int> lis2(50); list<int> lis3(50,1); // 复制构造函数 list<int> lis4(lis3); list<int> lis5(lis3.begin(),lis3.end());二、赋值(assig原创 2020-07-12 17:34:24 · 1624 阅读 · 0 评论 -
c++ 之map用法
使用map时,需包含头文件&amp;lt;map.h&amp;gt;.一、定义及初始化// 直接定义map&amp;lt;char,int&amp;gt; mymap;mymap['a'] = 10;mymap['b'] = 60;// 复制map&amp;lt;char, int&amp;gt; second(mymap);// 通过迭代器map&原创 2018-10-02 00:56:45 · 708 阅读 · 1 评论 -
c++ 之set用法
使用set时,需包含头文件< set>set具备的两个特点:set中的元素都是排序好的set中的元素都是唯一的,没有重复的.一、定义及初始化// 列表初始化set <int> num = { 1, 2, 3 };// 相同常量会自动去除set <int> num = { 1, 2, 3, 1 }; // num = { 1, 2, 3...原创 2019-01-20 20:48:09 · 701 阅读 · 0 评论 -
堆和栈的使用方法
转载:https://blog.csdn.net/tina_ttl/article/details/52778037https://blog.csdn.net/Filwl_/article/details/80898804一、堆栈的区别管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。空间大小:一般来讲在32位...转载 2019-02-06 23:45:32 · 1221 阅读 · 0 评论 -
链表的常见用法
转载:https://blog.csdn.net/zjwsa/article/details/77892208https://segmentfault.com/a/1190000017790779一、定义链表的头文件: #include&lt; stdlib&gt;链表的建立:struct node{ int data; struct node *next...原创 2019-02-06 19:35:30 · 1592 阅读 · 0 评论 -
二叉树的使用方法
转载:http://blog.jobbole.com/108184/https://blog.csdn.net/zhanggonglalala/article/details/79738213https://blog.csdn.net/heyanxi0101/article/details/79593542一、概述平衡树:所有结点左右子树深度差≤1排序树:所有结点“左小右大字典树:由...转载 2019-02-11 22:45:43 · 1272 阅读 · 0 评论 -
队列的基本用法
转载:https://blog.csdn.net/dy_1748204009/article/details/60592794https://www.cnblogs.com/yaoyueduzhen/p/4456430.html一、什么是队列队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。Queue接口与List、Set同一级别,都是继承了Collecti...原创 2019-02-11 23:38:50 · 2116 阅读 · 1 评论 -
string类型中迭代器的使用
注意!!本文对比上篇文章《c++中string的用法》进行讲解-一、迭代器的定义string::iterator it;二、遍历字符串string str = "abcdefghijklmn";//s.begin() 返回字符串s第一个字符的位置char a = *(str.begin()); // a//s.end() ...原创 2018-09-02 14:09:44 · 5124 阅读 · 3 评论 -
c++中数据读取
转载:https://blog.csdn.net/k346k346/article/details/48213811一、cin&amp;amp;amp;gt;&amp;amp;amp;gt;用法cin可以连续从键盘读取想要的数据,以空格、tab或换行作为分隔符。#include &amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace std;in转载 2018-09-04 20:58:48 · 2565 阅读 · 0 评论 -
关闭输入输出流绑定
转载:https://www.cnblogs.com/xiaoxue126/p/8976165.html部分网站代码练习时,总会发现运行时间短的代码都会有类似:static const auto io_sync_off = []() { std::ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(...转载 2019-02-20 18:34:31 · 1098 阅读 · 0 评论 -
c标准库中scanf用法
一、scanf用法功能:通过键盘给程序中的变量赋值。# include <stdio.h>int scanf(const char *format, ...);示例:scanf("%d%d%d",&a,&b,&c); 二、格式字符格式字符说明%a读入一个浮点值(仅C99有效)%A读入一个浮点值(仅C99有...原创 2019-09-20 16:42:00 · 1144 阅读 · 0 评论 -
sscanf与strtok用法
转载: https://blog.csdn.net/lxzh12345/article/details/24122969 https://blog.csdn.net/f_zyj/article/details/51467905一、sscanf用法定义函数 :int sscanf (const char *str,const char * format,........); 功能:从一...转载 2018-09-04 21:26:15 · 563 阅读 · 0 评论 -
c++ 汉字字符处理
一、字符串输出汉字的存储与操作系统环境有很大关系。 如果操作系统字符集是gbk,则一个汉字由两个字节组成。 如果操作系统字符集是utf8,则一个汉字由三个字节组成。windows查看系统字符集:chcp linux查看系统字符集:locale知道本机字符集,就可以按规则输出一个一个的汉字了。以gbk字符集为例:(如果是utf8字符集,则输出连续三个字节)string st...原创 2018-09-13 11:07:57 · 15295 阅读 · 1 评论 -
c++ 保留有效数字和小数位
使用前需添加头文件#include <iomanip>一、保留n位有效数字采用四舍五入方式。int main(){ double a = 3.141564; cout << setprecision(3) << a; // a = 3.14 return 0;}二、保留n位小数采用四舍五入方式。int mai...原创 2018-09-18 17:16:30 · 7960 阅读 · 2 评论 -
c++ 取整之ceil、floor、round、fix用法
头文件: #include <cmath>一、ceil函数朝上取整。ceil(-3.14) = -3;ceil(4.56) = 5;二、floor函数朝下取整。floor(-3.14) = -4;floor(4.56) = 4;三、fix函数朝0取整。fix(-3.14) = -3;fix(4.56) = 4;四、round函数四舍五入...原创 2018-09-06 10:49:34 · 10413 阅读 · 11 评论 -
length()、size()、sizeof()三者的区别
一、length()函数c++中,length()只是用来获取字符串的长度。 例如:string str = “asdfghjkl” 则,str.length() = 9。二、size()函数c++中,在获取字符串长度时,size()函数与length()函数作用相同。 除此之外,size()函数还可以获取vector类型的长度。 例如:vector < int>...原创 2018-08-29 20:16:41 · 42814 阅读 · 6 评论 -
break、continue、return的区别
转载:https://blog.csdn.net/u014225510/article/details/45440403简单说来,break跳出一层循环,continue结束一趟循环 ,return结束所有层循环。 具体情形接下来慢慢讲解。一、 break(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。 (2).只能跳出一层循环,如果你的...转载 2018-09-13 10:47:21 · 185 阅读 · 0 评论 -
int、string 类型相互转换
一、 类型名获取typeinfo库中,有工具函数typeid().name(),可以用来返回变量的数据类型: (可不添加库函数typeinfo) Example:#include&amp;amp;lt;iostream&amp;amp;gt; #include &amp;amp;lt;typeinfo&amp;amp;gt; using namespace std;int main(void){原创 2018-08-27 00:46:21 · 3262 阅读 · 0 评论 -
c++中int与char相互转换
一、ASCII表了解int与char相互转换之前,先让我们看一下ASCII码表。其中数字字符对应的位置为:48 - 57。二、char转intchar转int之前,先将运算式中的每个字符都转换成ASCII码值,再进行计算。 以下代码为例,其中i3的结果符合我们的预期要求。char c = '0';int i1 = c; // 48...原创 2019-07-18 16:52:27 · 141049 阅读 · 10 评论 -
char数组与char指针
转载来源:https://www.cnblogs.com/nzbbody/p/3553222.htmlhttps://blog.csdn.net/jack_20/article/details/78913202一、‘\0’的添加存在的C语言方法,如strlen(s),计算字符串的长度,其中s指针。strlen要计算字符串长度,必须知道哪里是结尾,因此使用\0表示结尾。只有字符数组才有\...转载 2019-02-04 16:32:02 · 20041 阅读 · 1 评论 -
c++中string、char *、char[]相互转换
一、string转char*主要有三种方法可以将str转换为char*类型,分别是:data()、c_str()、copy()。 其中,copy()可能会报安全性错误,自行解决即可。3.1 data()方法string str = "hello";//使用char * p=(char*)str.data()效果相同const char* p = str.data();3.2...原创 2018-09-06 13:00:17 · 21752 阅读 · 2 评论 -
c++ 之字节对齐(全)
一、类型字节数系统平台16位32位64位char111short222int244unsigned int244float444double888long448unsigned long448long long888*248原创 2019-09-10 12:58:45 · 2572 阅读 · 0 评论 -
c++ 之编译过程
C/C++ 程序编译流程: 预处理->编译->汇编->链接具体的就是: 源代码(source coprede)→预处理器(processor)→编译器(compiler)→汇编程序(assembler) →目标程序(object code)→链接器(Linker)→可执行程序(executables)原创 2019-09-10 14:56:32 · 363 阅读 · 0 评论 -
c++ 之运算符重载
运算符重载是一种形式的 C++ 多态。一、重载限制重载后的运算符必须至少有一个操作数是用户定义的类型。使用运算符时不能违反运算符原来的句法规则。不能创建新的运算符。二、不能重载的运算符名称说明sizeofsizeof 运算符.:成员运算符.*成员指针运算符::作用域解析运算符?:条件运算符typeid一个 RT...原创 2019-10-30 16:56:34 · 217 阅读 · 0 评论 -
c++ 运算符优先级
运算符优先级决定了运算符用于值的顺序,C++运算符分为18个优先级组。原创 2019-09-10 16:01:25 · 476 阅读 · 1 评论 -
c++ 之保留字
关键字是组成编程语言词汇表的标识符,它们不能用于其他用途。下表列出了C++的关键字,其中粗体也是ANSI C99标准中的关键字。alignasalignofasmautoboolbreakcasecatchcharchar16_tchar32_tclassconstconst_castconstexprcontinuedec...原创 2019-09-14 21:21:36 · 2762 阅读 · 0 评论 -
c++ 之转义字符
一、转义序列编码字符名称ASCII符号C++代码十进制十六进制换行符NL(LF)\n100xA水平制表符HT\t90x9垂直制表符VT\v110xB退格BS\b80x8回车CR\r130xD振铃BEL\a70x7反斜杠\\\920x5C问号?\?630x3F单...原创 2019-09-20 15:45:02 · 3643 阅读 · 0 评论 -
C++11 标准校验表
下面是 C++11 版本的校验表,编译器将依次查阅该表:1、如果有一个操作数的类型是 long double,则将另一个操作数转换为 long double。2、否则,如果有一个操作数的类型是 double,则将另一个操作数转换为 double。3、否则,如果有一个操作数的类型是 float,则将另一个操作数转换为 float。4、否则,说明操作数都是整型,因...原创 2019-10-08 16:38:00 · 290 阅读 · 0 评论 -
C/C++ 文件打开模式
一、C++ 和 C 文件打开模式C++ 模式C模式含义ios_base::inr打开以读取ios_base::outw打开以写入,如果已经存在,则截短文件ios_base::out | ios_base::truncw打开以写入,如果已经存在,则截短文件ios_base::out | ios_base::appa打开以写入,只追加...原创 2019-10-29 22:28:45 · 1213 阅读 · 0 评论