C++
文章平均质量分 74
随缘丶随性丶随心
这个作者很懒,什么都没留下…
展开
-
C++基础(7) - 流程控制
C++流程控制原创 2023-02-19 23:47:16 · 478 阅读 · 0 评论 -
C++基础(6) - 复合类型(下)
复合类型(下)原创 2023-02-13 00:46:17 · 801 阅读 · 0 评论 -
C++基础(5) - 复合类型(上)
复合类型(上)原创 2023-02-12 19:01:25 · 1202 阅读 · 0 评论 -
C++基础(4) - 运算符
C++运算符、类型转换原创 2023-02-05 01:44:02 · 840 阅读 · 0 评论 -
C++基础(3) - 基本数据类型
C++基本数据类型原创 2023-01-29 00:19:39 · 2042 阅读 · 0 评论 -
C++基础(2) - 变量和常量
C++中的常量和变量原创 2023-01-27 16:17:37 · 749 阅读 · 0 评论 -
C++基础(1) - 前导知识
C++前导常识原创 2023-01-26 23:35:55 · 660 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 4、算法初步(2) - 哈希
文章目录4.2 哈希4.2.1 哈希的定义与整数哈希4.2.2 字符串哈希初步4.2 哈希4.2.1 哈希的定义与整数哈希我们先来看一个小例子。NNN个正整数{8, 3, 7, 6, 2}中,待查询的MMM个正整数{7, 4, 2}是否有数值在其中出现。看得出来,7和2就出现在那NNN个正整数中,只有4不在。对于这个问题,一个很简单的想法,对于待查询的数值xxx,我们可以直接暴力枚举,遍历所有NNN个数,看是否有数跟xxx相等。不过这种方法的时间复杂度为O(NM)O(NM)O(NM),当NNN和MM原创 2021-02-25 23:51:21 · 388 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 4、算法初步(1) - 4.排序题与sort函数的应用
4.1.4 排序题与sort函数的应用sort()函数是用来排序的函数,属于C++标准模板库。它根据具体情形使用不同的排序算法,效率较高。还可以规避经典快速排序中可能出现的会导致实际复杂度退化到O(n2)O(n^2)O(n2)的极端情况。如何使用sort排序sort的使用必须先添加头文件#include <algorithm>和using namespace std;,格式如下:sort(首元素地址, 尾元素地址的下一个地址(, 比较函数));如果不给出比较函数,sort函数会默认原创 2021-02-22 22:15:02 · 133 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 4、算法初步(1) - 3.直接插入排序
4.1.3 直接插入排序直接插入排序是插入排序中最直观的算法(有点污啊)。它每一趟都会将一个待排序的元素按大小插入到已经排好序的序列的适当位置上,直到所有待排序的元素都插入为止。下面看一个例子了解一下这个算法的执行流程:{5, 2, 4, 6, 3, 1} 有序 无序 5 2 4 6 3 1 对于一个元素而言,怎样都是有序的,所以我们主要从第二个元素开始比较。第一趟当前有序原创 2021-02-22 15:18:53 · 146 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 4、算法初步(1) - 2.简单选择排序
4.1.2 简单选择排序简单选择排序是最常用的选择排序方法。对一个拥有nnn个元素的序列,它会进行n-1趟操作,每一趟操作选出当前无序序列中最小的元素,将其按顺序放入最终的有序序列中。这么说可能有些抽象,我们来看一个小例子:从小到大排序{49, 38, 68, 97, 76, 13, 27, 49}。当前情况下,整个序列都是无序的。 无序 49 38 68 97 76 13 27原创 2021-02-21 23:19:01 · 108 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 4、算法初步(1) - 1.冒泡排序
4.1 排序排序就是将一个原本无序的序列按照某个规则重新排列成有序序列的过程。现有的排序算法主要有以下几类:插入类排序:直接插入排序、折半插入排序、希尔排序等;交换类排序:冒泡排序、快速排序等;选择类排序:简单选择排序、堆排序等;归并类排序:二路归并排序等;基数类排序:基数排序等;4.1.1 冒泡排序冒泡排序的本质在于交换,属于交换类排序,这类排序还有快速排序等。所谓“交换”,就是指每一趟排序,都通过一系列的交换操作,使得一个元素排到它最终应该在的位置上。若我们想使用冒泡排序将一个乱序原创 2021-02-20 17:05:01 · 143 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 3、入门模拟(6) - 字符串处理
3.6 字符串处理要分析题目的输入和输出格式,注意很多细节和边界情况。这个题型十分常见,也能很好体现代码能力。【codeup 5901】回文串题目描述:读入一串字符,判断是否是“回文串”。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”就是回文串。输入格式:一行字符串,长度不超过255。输出格式:如果是“回文串”,输出“YES”,否则输出“NO”。样例输入:12321样例输出:YES思路:由于回文串正读和反读都是一样的,我们只需要遍原创 2021-02-19 01:17:42 · 114 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 3、入门模拟(5) - 进制转换
3.5 进制转换我们一般只要知道如何将一个x进制的数转换成十进制,和十进制如何转换成x进制数即可。若是想要将P进制的数转换成Q进制的数,我们可以先将P进制的数转换成十进制,然后将十进制转换成Q进制。将P进制转换成十进制对于一个十进制的数,如123456,我们可以写成下面的形式:KaTeX parse error: Undefined control sequence: \notag at position 70: …*10^1 + 6*10^0 \̲n̲o̲t̲a̲g̲̲每个数字对应的10的原创 2021-02-18 12:44:15 · 151 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 3、入门模拟(4) - 日期处理
3.4 日期处理日期处理在模拟题中算是挺麻烦的,我们需要注意平年和闰年的二月天数不一样,还要注意大小月的区别。闰年:年份是4的倍数且不是100的倍数,或者年份是400的倍数。大小月:大月(1、3、5、7、8、10、12)有31天,小月(4、6、9、11)有30天。闰年的二月有29天,一年有366天;平年的二月只有28天,一年365天。这些看起来挺复杂的,为了方便处理,我们一般都会用一个二维数组分别存放平年和闰年各个月份的天数,再用一个函数来判断一个年份是不是闰年。【codeup 1928】日期差原创 2021-02-16 17:42:48 · 163 阅读 · 1 评论 -
《算法笔记》笔记之笔记 - 3、入门模拟(3) - 图形输出
aaaaaaaaaaa aa aa &nb.原创 2021-02-16 16:32:20 · 155 阅读 · 1 评论 -
《算法笔记》笔记之笔记 - 3、入门模拟(2) - 查找元素
3.2 查找元素给定一些元素,然后查找满足某个条件的某个元素。一般范围小的数据可以直接使用遍历每一个元素的方法查找;如果范围比较大,那么可以用二分查找等算法来查找。【codeup 1934】找x题目描述:输入一个数n(1<=n<=200),然后输入n个数值各不相同的数,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。输入格式:测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。输出格式:对于每组输入,原创 2021-02-16 00:07:35 · 120 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 3、入门模拟(1) - 简单模拟
入门模拟不涉及算法知识,题目都比较简单。多多练习,多敲代码即可。3.1 简单模拟模拟题是一类“题目怎么说,你就怎么做”的题目,实现起来简单的就称之为“简单模拟”。它不涉及算法,考验的是代码能力。【PAT B1001】害死人不偿命的(3n+1)猜想题目描述:卡拉兹(Callatz)猜想:对任何一个自然数nnn,如果它是偶数,那么就把它砍掉一半;如果它是奇数,那么把(3n+13n+13n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1n=1n=1。卡拉兹在1950年的世界数学家大会上原创 2021-02-13 18:33:20 · 170 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 2、C&C++快速入门(5)
文章目录2.8 结构体2.8.1 结构体的定义2.8.2 访问结构体内的元素2.8.3 结构体的初始化2.9 补充2.9.1 cin与cout2.9.2 浮点数的比较2.9.3 复杂度2.8 结构体到此为止,我们能很好定义单个想要的数据类型变量,但是如果想要使用单个类型的变量进行罗列应该如何定义呢?这时候我们就可以使用结构体,它可以将若干个不同的数据类型的变量或数组封装在一起,方便存储一些复合数据。2.8.1 结构体的定义定义结构体的格式如下:struct Name{ // 一些基本的数据原创 2021-02-09 19:29:11 · 151 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 2、C&C++快速入门(4)
文章目录2.6 函数2.6.1 函数的定义2.6.2 再谈main()函数2.6.3 以数组作为函数参数2.6.4 函数的嵌套调用2.6.5 函数的递归调用2.7 指针2.7.1 什么是指针2.7.2 指针变量2.7.3 指针与数组2.7.4 使用指针变量作为函数参数2.7.5 引用2.6 函数2.6.1 函数的定义函数是一个实现一定功能的语句的集合。它可以使代码更加简洁和清晰,不必将一些语句多次重复写一遍。函数的基本语法格式如下所示:返回类型 函数名称(参数类型 参数){ 函数主体}原创 2021-02-08 15:48:21 · 334 阅读 · 1 评论 -
《算法笔记》笔记之笔记 - 2、C&C++快速入门(3)
文章目录2.3 选择结构2.3.1 if语句2.3.2 if语句的嵌套2.3.3 switch语句2.4 循环结构2.4.1 while语句2.4.2 do…while语句2.4.3 for语句2.4.4 break和continue语句2.5 数组2.5.1 一维数组2.5.2 二维数组2.5.4 memset——对数组中每一个元素赋相同的值2.5.5 字符数组2.5.6 string.h头文件2.5.7 sscanf与sprintf2.3 选择结构2.3.1 if语句这个比较简单,if语句的格式如原创 2021-02-02 01:22:05 · 429 阅读 · 0 评论 -
《算法笔记》笔记之笔记 - 2、C&C++快速入门(2)
文章目录2.2 顺序结构2.2.1 赋值表达式2.2.2 使用scanf和printf输入输出2.2.3 特殊的转义字符和使用的输出格式2.2.4 使用getchar和putchar输入/输出字符2.2.5 注释2.2.6 typedef2.2.7 常用math函数2.2 顺序结构2.2.1 赋值表达式在C语言中是哟个等号“=”来实现赋值。此外,赋值运算符可以通过将其他运算符放在前面来实现赋值操作的简化。比如n /= 3,就等价于n = n / 3。这里特别提一下,赋值运算符右边若是复合操作,我们需要原创 2021-01-30 15:08:39 · 270 阅读 · 0 评论