摘要: 一、变量的内存地址(变量放在哪里)每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址: #include<bits/stdc++.h> using namespace std; int main() 阅读全文
posted @ 2022-03-10 22:06 心悟&&星际 阅读(82) 评论(0) 推荐(0)
摘要: 同余给定一个正整数m,如果两个整数a和b满足a-b能够被m整除m|(a-b),那么整数a与b对模m同余,记为a≡b (mod m)举例a=100,b=60,a-b=40,m=8,8|40,故100≡60 (mod 40)。同余另一种说法是a%m==b%m。主要性质如果a≡b (mod m),c为整数 阅读全文
posted @ 2022-03-10 21:00 心悟&&星际 阅读(163) 评论(0) 推荐(0)
摘要: 集合的组合(子集)设S是n元素集合。集合S的一个组合通常表示集合S的元素的一个无序选择。这样一个选择的结果是S的元素构成的一个子集。因此,S的一个组合就是S的子集的一个选择。因此,术语组合与子集本质上是可以互换的,通常我们使用更熟悉的子集而不使用略显笨拙的组合,除非要强调选择的过程。 我们用 表示n 阅读全文
posted @ 2022-03-10 20:56 心悟&&星际 阅读(473) 评论(0) 推荐(0)
摘要: 卡特兰数列(Catalan )简述卡特兰数又称卡塔兰数,它是组合数学中一个常出现在各种计数问题中出现的数列,其前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, ......公式1.递归公式12.递归公式2 3 阅读全文
posted @ 2022-03-10 20:32 心悟&&星际 阅读(988) 评论(0) 推荐(0)
摘要: 本文只总结常见的序列容器(vector、deque、list)和关联容器(set、multiset、map、multimap)的迭代器失效问题。原迭代器指的是进行操作之前保存的迭代器,包括begin()、end()以及其他位置的迭代器。vector:成员函数push_back():会在容器末尾添加一 阅读全文
posted @ 2022-03-10 17:55 心悟&&星际 阅读(234) 评论(0) 推荐(0)
摘要: C++迭代器(STL迭代器)iterator详解要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。迭代器按照定义方式分 阅读全文
posted @ 2022-03-10 17:51 心悟&&星际 阅读(871) 评论(0) 推荐(0)
摘要: C++运算符优先级表C++运算符优先级表,从上到下,从左到右,优先级依次减弱。优先级 运算符 说明 结合性1 :: 范围解析 自左向右2 ++ -- 后缀自增/后缀自减 () 括号 [] 数组下标 . 成员选择(对象) −> 成员选择(指针) 3 ++ -- 前缀自增/前缀自减 自右向左 + − 加 阅读全文
posted @ 2022-03-10 15:54 心悟&&星际 阅读(1345) 评论(0) 推荐(0)
摘要: 杂项运算符下表列出了 C++ 支持的其他一些重要的杂项运算符。运算符 描述sizeof sizeof运算符返回变量的大小。例如,sizeof(a)将返回4,其中a是整数。Condition?X:Y 条件运算符。如果Condition为真?则值为X:否则值为Y。, 逗号运算符会顺序执行一系列运算。整个 阅读全文
posted @ 2022-03-10 15:53 心悟&&星际 阅读(89) 评论(0) 推荐(0)
摘要: 赋值运算符下表列出了 C++ 支持的赋值运算符:运算符 描述 实例= 简单的赋值运算符,把右边操作数的值赋给左边操作数 C=A+B将把A+B的值赋给C+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C+=A相当于C=C+A-= 减且赋值运算符,把左边操作数减去右边操作数的结果 阅读全文
posted @ 2022-03-10 15:50 心悟&&星际 阅读(241) 评论(0) 推荐(0)
摘要: 逻辑运算符下表显示了 C++ 支持的所有关系逻辑运算符。假设变量 A 的值为 1,变量 B 的值为 0,则:运算符 描述 实例&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A&&B)为假。|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A||B)为真。! 称为 阅读全文
posted @ 2022-03-10 15:47 心悟&&星际 阅读(319) 评论(0) 推荐(0)
摘要: 关系运算符下表显示了 C++ 支持的所有关系运算符。同样还是假设变量 A 的值为 10,变量 B 的值为 20,则:运算符 描述 实例== 检查两个操作数的值是否相等,如果相等则条件为真。 (A==B)不为真。!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (A!=B)为真。> 检查左操作 阅读全文
posted @ 2022-03-10 15:44 心悟&&星际 阅读(148) 评论(0) 推荐(0)
摘要: 算术运算符下表显示了 C++ 支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:运算符 描述 实例+ 把两个操作数相加 A+B将得到30- 从第一个操作数中减去第二个操作数 A-B将得到-10* 把两个操作数相乘 A*B将得到200/ 分子除以分母 B/A将得到2% 取模 阅读全文
posted @ 2022-03-10 14:38 心悟&&星际 阅读(124) 评论(0) 推荐(0)
摘要: 二维数组一、二维数组的定义当一维数组元素的类型也是一维数组时,便构成了“数组的数组”,即二维数组。二维数组定义的一般格式:数据类型 数组名[常量表达式1] [常量表达式2] ;例如:int a[4][10];a数组实质上是一个有4行、10列的表格,表格中可储存40个元素。第1行第1列对应a数组的a[ 阅读全文
posted @ 2022-03-10 12:21 心悟&&星际 阅读(3417) 评论(0) 推荐(0)
摘要: 一维数组C++语言一、为什么要使用数组通过前面几章的学习,我们已经可以编写程序来解决各种相当复杂的问题了,但是当需要处理的数据比较多时,仅依靠前面的知识是不够的,即使简单的问题也可能需要比较复杂的程序来处理。请看下面的例子:例题:输入50个学生的某门课程的成绩,打印出低于平均分的学生序号与成绩。【分 阅读全文
posted @ 2022-03-10 11:39 心悟&&星际 阅读(977) 评论(0) 推荐(0)
摘要: 一、定义字符数组:存储字符的数组字符串 :是使用最频繁的字符数组,是一个特殊的字符数组。C++中并没有专门的字符串的类型,一个字符串实际上就是一个字符数组,与普通字符数组不同的是,字符串的结尾有一个字符\0,表示字符串的结束。char 可以定义字符数组,也可以定义字符串。 字符串实际上是使用 nul 阅读全文
posted @ 2022-03-10 10:42 心悟&&星际 阅读(1102) 评论(0) 推荐(0)
摘要: string容器要想使用标准C++中string类,必须要包含#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件using namespace std;string类的构造函数string(const char *s); //用c字符 阅读全文
posted @ 2022-03-10 09:24 心悟&&星际 阅读(54) 评论(0) 推荐(0)
摘要: Queue容器Queue容器概述queue队列与栈有点类似,栈一个是在同一端存取数据,队列一个是在一端存入数据,另一端取出数据。单向队列中的数据是先进先出(First In First Out,FIFO)。在STL中,单向队列也是以别的容器作为底部结构,再将接口改变,使之符合单向队列的特性就可以了。 阅读全文
posted @ 2022-03-10 09:21 心悟&&星际 阅读(52) 评论(0) 推荐(0)
摘要: C++ Stack栈的基本概念栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是 阅读全文
posted @ 2022-03-10 09:16 心悟&&星际 阅读(268) 评论(0) 推荐(0)
摘要: list容器list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。使用list容器之前必须加上<list>头文件:#include<list>;list属于std命名域的内容,因此需要通 阅读全文
posted @ 2022-03-10 08:06 心悟&&星际 阅读(60) 评论(0) 推荐(0)