自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 问答 (2)
  • 收藏
  • 关注

转载 C++核心编程资料

*作用:**函数名可以相同,提高复用性同一个作用域下函数名称相同函数参数类型不同或者个数不同或者顺序不同函数的返回值不可以作为函数重载的条件//函数重载需要函数都在同一个作用域下{cout

2022-12-09 14:27:43 380 1

原创 Prim算法求最小生成树

给定一张边带无权的无向图G = (V, E), n = |V|, m = |E|。由V中全部n个顶点和E中n - 1条边构成的无向连通子图被称为G的一课生成树。边的权值之和最小的生成树被称为无向图的最小生成树。

2022-11-21 11:12:56 3613

原创 Dijkstra算法求最短路

1.初始化dist[1] = 0,其余节点的dist值为无穷大。2.找出一个未被标记的、dist[x]最小的节点x,然后标记节点x。3.扫描节点x的所有出边(x,y,z),若dist[y] > dist[x] + z,则使用dist[x] + z更新dist[y]。4.重复上述2~3两个步骤,直到所有的节点都被标记。

2022-11-14 19:08:23 1950

原创 DFS与BFS模板

深度优先遍历,就是在每个点x上面对多条分支时,任意选一条边走下去,执行递归,直至回溯到点x后,再考虑走向其他的边。

2022-11-14 17:03:14 294

原创 二叉树的遍历(递归与非递归)

【代码】二叉树的遍历(递归与非递归)

2022-11-14 16:49:57 97

原创 树与图的存储之邻接表法

ne[M] : 表示 与 第 idx 条边 同起点 的 下一条边 的 idx。对于无向图中的边ab,存储两条有向边a->b, b->a。h[N] : 表示 第 i 个节点的 第一条边的 idx。e[M] : 表示 第idx 条边的 终点。树是一种特殊的图,与图的存储方式相同。因此我们可以只考虑有向图的存储。idx : 边的下标索引。i : 节点的下标索引。

2022-10-25 17:41:03 299

原创 C++:to_string与stoi函数

stoi()函数如果传入的字符串s中含有不是数字的字符,则只会识别到从开头到第一个非法字符之 前,如果第一个字符就是非法字符则会报错。头文件:#include < cstring> 或 #include 参数的类型可以是int,long, double ,long long。头文件:#include < cstring>

2022-10-20 14:40:54 7294 2

原创 数组模拟队列

用一个数组 q 保存数据。用 hh 代表队头,q[hh] 就是队头元素, q[hh + 1] 就是第二个元素。用 tt 代表队尾, q[tt] 就是队尾元素, q[tt + 1] 就是下一次入队,元素应该放的位置。[hh, tt] 左闭右闭,代表队列中元素所在的区间。

2022-10-19 20:32:22 114

原创 结构体实现链表

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。因此我们可以通过结构体,结构体指针来实现一个单链表,包括基本的增删查改。

2022-10-19 18:13:56 1144

原创 数组模拟栈

众所周知,栈是一种后入先出的数据结构,与队列不同,队列是一种先入先出的数据结构,二者虽有差异,但是有许多相似之处。对后面知识的学习也起到承上启下的作用。本文主要介绍用数组模拟栈。1.入栈 push_back();此时要判断栈是否溢出。2.出栈 pop_back();此时要判断栈是否为空。4.判断栈是否为空。

2022-10-19 14:27:53 521

原创 数组模拟静态链表

静态链表相比结构的实现的动态数组,速度更快,操作开销更小,常用作竞赛中。

2022-10-17 16:24:16 168

原创 C++:团体程序设计天梯赛-练习集 L1-012 计算指数

真的没骗你,这道才是简单题 —— 对任意给定的不超过 10 的正整数 n,要求你输出 2 ^n。n不超过10,即2^n不会超过int的最大范围,可以直接使用pow函数来求答案。在一行中按照格式 2^n = 计算结果 输出 2 ^n 的值。输入在一行中给出一个不超过 10 的正整数 n。L1-012 计算指数。

2022-10-17 05:30:00 208

原创 C++ stl容器详解

​ 上面这个定义其实相当于是一维数组name[SIZE],只不过,其长度可以根据需要进行变化,比较节省空间,说通俗了就是“变长数组”。​ 和一维数组一样,这里的 typename 可以是任何基本类型,例如 int、double、char、结构体等,也可以是STL标准容器,例如vector、set、queue等。需要注意的是,如果typename也是一个STL容器,定义的时候要记得在 >> 符号之间加上空格,因为一些使用C++11之前标准的编译器会把它视为移位操作,导致编译错误。

2022-10-16 21:16:15 579

原创 C++:洛谷 P1177 【模板】快速排序

快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C++ 选手请不要试图使用 STL,虽然你可以使用 sort 一遍过,但是你并没有掌握快速排序算法的精髓。第 11行为一个正整数 N,第 2 行包含 N 个空格隔开的正整数 ai ,为你需要进行排序的数,数据保证了 Ai 不超过 10^9。将给定的 N 个数从小到大输出,数之间空格隔开,行末换行且无空格。利用快速排序算法将读入的 NN 个数从小到大排序后输出。

2022-10-15 16:40:22 267

原创 C++:洛谷 P1102 A-B 数对

的个数,可以先对数组排序,用二分查找找到第一个数到当前这个数前面的一个数区间内的A - C,由于A - C在当前区间内的个数不唯一,因此两次二分查找分别找到左边第一次出现的位置和右边第一次出现的位置,他们的下标之差加1即为当前区间A - C的个数,依次遍历每个区间即可求得所有值为A - C的个数,即所有满足A - B = C的数对的个数。由于我们要计算出所有满足 A - B = C 的数对的个数,所以转换为找到值为。时间复杂度O(nlogn)

2022-10-15 13:12:19 1454

原创 C++:洛谷 P1093 [NOIP2007 普及组] 奖学金

【代码】C++:洛谷 P1093 [NOIP2007 普及组] 奖学金。

2022-10-13 05:30:00 606

原创 C++:洛谷 P1563 [NOIP2016 提高组] 玩具谜题

通过分析可以发现当读入方向与玩具人位置方向的数字相同时顺时针枚举(题目读入顺序为逆时针),否则反之。

2022-10-13 05:00:00 176

原创 C++:团体程序设计天梯赛-练习集 L1-011 A-B

输入在2行中先后给出字符串A和B。两字符串的长度都不超过10^4 ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。在一行中打印出A−B的结果字符串。

2022-10-12 06:00:00 78

原创 C++:团体程序设计天梯赛-练习集 L1-010 比较大小

在一行中将3个整数从小到大输出,其间以“->”相连。本题要求将输入的任意3个整数从小到大输出。输入在一行中给出3个整数,其间以空格分隔。L1-010 比较大小。

2022-10-11 10:51:57 334

原创 C++:团体程序设计天梯赛-练习集 L1-009 N个数求和

依次求出每相邻分母的最小公倍数,最后得到所有数据分母的最小公倍数,然后依次更新分子,注意这种做法要开long long不然测试点三会爆int。

2022-10-11 09:59:19 129

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题8-3 数组循环右移

其他题目详见:浙大版《C语言程序设计(第3版)》题目集本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a 0 a 1 ⋯a n−1 )变换为(a n−m ⋯a n−1 a 0 a 1 ⋯a n−m−1 )(最后m个数循环移至最前面的m个位置)。函数接口定义:其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环右移后的数组仍然存在a[]中。裁判测试程序样例:输入样例:输出样例:.

2022-06-28 10:13:21 291

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题8-2 在数组中查找指定元素

其他题目详见:浙大版《C语言程序设计(第3版)》题目集本题要求实现一个在数组中查找指定元素的简单函数。函数接口定义:其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。裁判测试程序样例:输入样例1:输出样例1:输入样例2:输出样例2:...

2022-06-28 05:15:00 236

原创 C语言:PAT (Basic Level) Practice (中文)1014 福尔摩斯的约会 (20 分)

其他题目详见:PAT乙级解题记录一.题目描述:1014 福尔摩斯的约会 (20 分)大侦探福尔摩斯接到一张奇怪的字条:我们约会吧!3485djDkxh4hhGE2984akDfkkkkggEdsbs&hgsfdkd&Hyscvnm大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14

2022-04-25 05:45:00 168

原创 C语言:PAT (Basic Level) Practice (中文)1013 数素数 (20 分)

其他题目详见:PAT乙级解题记录一.题目描述:1013 数素数 (20 分)令 P i 表示第 i 个素数。现任给两个正整数 M≤N≤104 ,请输出 P M 到 PN 的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从 P M到 P N 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73

2022-04-22 05:45:00 277

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:8-2 计算两数的和与差 (10 分)本题要求实现一个计算输入的两数的和与差的简单函数。函数接口定义:void sum_diff( float op1, float op2, float *psum, float *pdiff );其中op1和op2是输入的两个实数,psum和pdiff是计算得出的和与差。裁判测试程序样例:#include <stdio.h>void sum_diff( float op1

2022-04-21 06:30:00 612

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题8-1 拆分实数的整数与小数部分 (15 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:习题8-1 拆分实数的整数与小数部分 (15 分)本题要求实现一个拆分实数的整数与小数部分的简单函数。函数接口定义:void splitfloat( float x, int *intpart, float *fracpart );其中x是被拆分的实数(0≤x<10000),intpart和fracpart分别是将实数x拆分出来的整数部分与小数部分。裁判测试程序样例: #include <stdio.h>

2022-04-21 06:00:00 446

原创 C语言:PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)

其他题目详见:PAT乙级解题记录一.题目描述:1012 数字分类 (20 分)给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A 1 = 能被 5 整除的数字中所有偶数的和;A 2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n 1 −n 2 +n3 −n 4 ⋯;A 3 = 被 5 除后余 2 的数字的个数;A 4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A 5 = 被 5 除后余 4 的数字中最大数字。输入格式:每个

2022-04-21 05:30:00 204

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题7-8 字符串转换成十进制整数 (15 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:习题7-8 字符串转换成十进制整数 (15 分)输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样例:±P-xf4±1!#输出样例:-3

2022-04-20 06:00:00 479

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题7-7 字符串替换 (15 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:习题7-7 字符串替换 (15 分)本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母A ZB YC XD W… …X CY BZ A输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced.输出样例:Lnly th

2022-04-20 05:30:00 369

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题7-6 统计大写辅音字母 (15 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:习题7-6 统计大写辅音字母 (15 分)英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出字符串中大写辅音字母的个数。输入样例:HELLO World!输出样例:4二.代码示例:#include<stdio.h>int main(){ int

2022-04-20 05:15:00 491

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题7-5 找鞍点 (20 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:习题7-5 找鞍点 (20 分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7

2022-04-19 05:45:00 342

原创 C语言:PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)

其他题目详见:PAT乙级解题记录一.题目描述:1012 数字分类 (20 分)给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A 1 = 能被 5 整除的数字中所有偶数的和;A 2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n 1 −n 2 +n3​ −n 4 ⋯;A 3 = 被 5 除后余 2 的数字的个数;A 4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A 5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入

2022-04-19 05:15:00 120

原创 C语言:团体程序设计天梯赛-练习集 L1-008 求整数段和 (10 分)

其他题目详见:团体程序设计天梯赛-练习集一·题目描述:L1-008 求整数段和 (10 分)给定两个整数A和B,输出从A到B的所有整数以及这些数的和。输入格式:输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。输出格式:首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。输入样例:-3 8输出样例:-3 -2 -1 0 12 3 4

2022-04-18 05:45:00 253

原创 C语言:PAT (Basic Level) Practice (中文)1011 A+B 和 C (15 分)

其他题目详见:PAT乙级解题记录一.题目描述:1011 A+B 和 C (15 分)给定区间 [−2^ 31 ,2 ^31 ] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。输入格式:输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的

2022-04-18 05:15:00 208

原创 C语言:团体程序设计天梯赛-练习集 L1-007 念数字 (10 分)

其他题目详见:团体程序设计天梯赛-练习集一·题目描述:L1-007 念数字 (10 分)输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如yi er

2022-04-17 05:00:00 299

原创 C语言:团体程序设计天梯赛-练习集 L1-006 连续因子 (20 分)

其他题目详见:团体程序设计天梯赛-练习集一·题目描述:L1-006 连续因子 (20 分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续

2022-04-16 13:29:02 124

原创 C语言:PAT (Basic Level) Practice (中文)1010 一元多项式求导 (25 分)

其他题目详见:PAT乙级解题记录一.题目描述:1010 一元多项式求导 (25 分)设计函数求一元多项式的导数。(注:x ^n(n为整数)的一阶导数为nx ^n−1 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4 -5 2 6 1 -2 0输出

2022-04-15 05:45:00 267

原创 C语言:PAT (Basic Level) Practice (中文)1009 说反话 (20 分)

其他题目详见:PAT乙级解题记录一.题目描述:1009 说反话 (20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I

2022-04-15 05:15:00 153

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题7-4 求矩阵各行元素之和 (15 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:习题7-4 求矩阵各行元素之和 (15 分)本题要求编写程序,求一个给定的m×n矩阵各行元素之和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和。输入样例:3 26 31 -83 12输出样例:9-715二.代码示例:#include<stdio.h>int main(){ int

2022-04-14 09:46:27 878

原创 C语言:浙大版《C语言程序设计(第3版)》题目集 习题7-3 判断上三角矩阵 (15 分)

其他题目详见:浙大版《C语言程序设计(第3版)》题目集一.题目描述:习题7-3 判断上三角矩阵 (15 分)上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES

2022-04-14 09:31:30 310

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除