- 博客(20)
- 收藏
- 关注

原创 【C语言】魔方阵的实现(最全)
魔方矩阵,又称幻方,是具有相同的行数和列数,并在每行每列、对角线上的和都相等的矩阵。对于魔方阵的构造,可分为一下三种类型:奇数阶(N为奇数 [2n+1的形式] )单偶数阶(N为4的倍数 [4n的形式] )双偶数阶(N为其他偶数 [4n+2的形式] )...
2022-01-11 22:09:39
27537
14
原创 求平均数解决溢出问题的方法
例:有数组Val[0]、Val[0]、Val[1]、……、Val[n-1],求平均数?缺点:a、b两数过大时,求和容易产生溢出。缺点:n过大时,求和容易产生溢出。
2022-08-04 16:41:45
839
原创 【数据结构】实验十 图的遍历
实验内容:使用邻接矩阵或链接表来存储图,并编程实现DFS和BFS算法。#include<iostream>using namespace std;#define MaxInt 32767 // 极大值 ∞#define MVNum 100 // 最大顶点数#define MAXSIZE 100 // 队列的最大长度bool visit_DFS[MVNum] = { false }; // 定义一个DFS访问数组 并初始化为false(代表被访问过).
2022-05-29 14:52:06
757
原创 【数据结构】实验九 构造哈夫曼树和生成哈夫曼编码
实验九:构造哈夫曼树和生成哈夫曼编码实验内容:构造一棵哈夫曼树,输出相应的哈夫曼编码以及平均查找长度,并针对一条消息进行编码以及解码。#include<iostream>#include<string.h>using namespace std;#define MAXSIZE 100typedef struct // 哈夫曼数的结构体{ int weight; // 结点的权值 int parent, lchild, rchild; // 结点的双亲 左孩子 .
2022-05-29 00:35:55
5654
2
原创 【数据结构】实验八 树的基本操作和遍历
实验要求:1、前序遍历生成二叉树;2、前序、中序、后序遍历上述生成的二叉树(使用递归);3、使用非递归方式中序遍历二叉树;4、输出二叉树的深度、节点个数。#include<iostream>#define TElemType char#define ElemType BiTree#define MAXSIZE 1000using namespace std;typedef struct BiTNode // 二叉树的二叉链表存储表示{ TElemType data;.
2022-05-12 23:36:37
658
原创 【数学】n次方差公式及证明方法
n次方差公式:an−bn=(a−b)(an−1+an−2b+an−3b2+⋅⋅⋅+abn−2+bn−1),n∈N∗a^{n}-b^{n}=(a-b)(a^{n-1}+a^{n-2}b+a^{n-3}b^{2}+···+ab^{n-2}+b^{n-1}),n \in N^{*}an−bn=(a−b)(an−1+an−2b+an−3b2+⋅⋅⋅+abn−2+bn−1),n∈N∗证法一:an−bn=an−an−1b+an−1b−an−2b2+an−2b2−⋅⋅⋅+abn−1−bn=an−1(a−b)+an−
2022-05-04 08:12:54
14956
原创 【数据结构】实验七 求一个矩阵的马鞍点
实验内容:如果矩阵A中存在这样的一个元素,满足条件:A[i][j]是第i行中值最小的元素,且是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。设计程序计算一个m*n的矩阵A的所有马鞍点。实验目的:掌握数组基本操作及算法设计。#include<iostream>#define MAX 50using namespace std;void InitArray(int a[MAX][MAX], int m, int n) // 初始化矩阵中的元素{ cout <<.
2022-04-28 20:49:13
4010
原创 【数据结构】实验六 字符串基本操作及模式匹配算法
实验要求:1、使用顺序结构存储字符串,完成字符串基本操作:如初始化、求长度、字符串连接等;2、扩展模式匹配的BF算法(只能实现匹配主串中第一次出现的位置),使其能找出主串中出现模式串的所有位置信息。3、扩展BF算法使其实现近似匹配,即如果模式串和子串中不同位数小于某个给定阈值,则表示匹配成功。4、实现KMP算法(选做)。#include<iostream>#define MAXSIZE 100 // 定义串的最大长度using namespace std;typedef s.
2022-04-22 14:29:35
3092
原创 【数据结构】实验五 递归的应用
实验内容:假设单链表中存放的是整数1、用递归方法求解单链表的长度;2、用递归方法求解单链表中所有数的平均数;3、用递归方法求单链表中倒数第k个结点元素。实验要求:理解递归的含义,写出递归算法。#include<iostream>#define ElemType intusing namespace std;typedef struct LNode // 单链表结构体{ ElemType data; // 结点的数据域 struct LNode* next; // 结点.
2022-04-14 22:00:00
1879
原创 四种求最大公约数的算法 C / C++
本篇文章总结了四种求最大公约数的常用算法。包括:辗转相除法、穷举法(枚举法)、更相减损法、Stein算法。每个算法都附加流程图及 C/C++ 代码,并对其时间复杂度进行了分析。...
2022-04-11 17:54:02
9468
1
原创 【数据结构】实验四 栈与队列的应用(括号匹配与舞伴问题)
1、给定一个只包含括号(假设只包含‘(’和‘)’)的表达式,使用栈判断表达式中的括号是否匹配。例如:(()(()))该式中括号匹配成功;((()())该式中括号匹配失败。2、舞伴问题。假设周末舞会上,男士们和女士们进入舞厅时各自排成一队。跳舞开始时,依次从男队和女队的队首各出列一名配成一对舞伴。若两队人数不同,则较长的那队中未配对的人等待下一首舞曲。是写一算法模拟上述配对问题。注意:使用队列实现上述问题。可以有所扩展,譬如舞厅大小有限,每次只允许几组人跳舞,跳完之后可以继续排队,等待下一个舞曲等。本.
2022-04-08 16:15:00
1797
1
原创 【数据结构】实验三 求两个集合(用单链表表示)的并、交和差运算
实验要求:在实验二的基础上,使用单链表表示集合,编写三个算法(求交算法、求并算法、集合求差),并输出最终的结果。例如:集合A为(3、4、1、6),集合B为(2、3、6、7)交集为:(3、6)并集为:(1、2、3、4、6、7)差集为:(1、4)(注意:差集C=A-B,即属于A但不属于B的元素的集合)#include<iostream>using namespace std;#define ElemType chartypedef struct LNode // 定义结构体.
2022-04-08 16:00:00
6369
原创 【数据结构】实验二 实现单链表各种基本运算的算法
内容:编写程序实现单链表各种基本运算,并编写main方法测试程序可行性。主要完成以下功能:1、初始化单链表;2、一次采用尾插法插入a、b、c、d、e元素;3、输出单链表;4、输出单链表长度;5、判断单链表是否为空;6、输出单链表的第3个元素;7、输出元素d的位置;8、在第4个元素位置上插入f元素;9、输出插入后的单链表;10、删除单链表中的第2个元素;11、输出删除后的单链表;12、(选做)单链表“原地”逆转,要求算法空间复杂度为O(1)。#include<iostre.
2022-04-08 15:45:00
3613
原创 【数据结构】实验一 实现顺序表各种基本运算的算法
题目:实现顺序表各种基本运算的算法要求:1、建立一个顺序表,输入n个元素并输出;2、查找线性表中的最大元素并输出;3、在线性表的第i个元素前插入一个正整数x;4、删除线性表中的第j个元素;5、将线性表中的元素按升序排列;6、将线性表中的元素就地逆序(只允许用一个暂存单元);#include<iostream>#define SIZE 1000using namespace std;typedef struct{ int *a; // 该线性表存储整型数据 a为存.
2022-04-08 15:00:00
3443
转载 sizeof和strlen的区别
1、含义sizeof 是操作符strlen 是函数sizeof()是可作用于所有的东西,而且是计算的整个大小strlen()作用范围比较窄,只能计算字符串大小(不包括\0),而字符串是以\0(NULL)为结束标志,所以只要strlen碰到\0就结束2、sizeofsizeof代码举例#include <stdio.h>#include <string.h>int main(){ char str[30] = "hello good\0man";//写入了1
2022-02-19 16:52:04
191
1
原创 关于C语言中的%*s与%.*s
%*s的用法%*s在scanf中与在printf中的用途不同。1.在scanf中使用时,添加了*的部分会被忽略,不会被参数获取。例如:int a,b;char b[10];scanf("%d%*s",&a,b);//输入为:123 abc那么123将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)2.在printf中使用时,表示用后面的形参替代的位置,实现动态格式输出。例如:printf("%*s", 10, s);//意思是输
2022-02-19 15:49:47
1370
原创 将整型数据转化为字符型数据(C/C++)
C语言void i2s(int n, char *str,unsigned char *length)//n为要转换的整型数据,str存放字符串首地址,length存放转换后字符串长度{ char buf[10] = ""; int i = 0; int len = 0; // temp为n的绝对值 int temp = n<0?-n:n; // 如果str为空指针,直接返回 if(str == NULL) { retur
2022-02-19 00:00:00
3826
原创 【C语言】32个关键字记忆技巧
第一类:数据类型关键字A基本数据类型(5个)void:声明函数无返回值或参数,声明无类型指针,显式丢弃运算结果。char:字符型数据类型int:整型数据类型float:单精度浮点型数据(属于浮点数据的一种,小数点后保留6位)double:双精度浮点型数据(属于浮点数据的一种,比 float 类型的精度高,小数点后保留15/16位)B类型修饰关键字(4个)short:修饰 int,短整型数据,可省略被修饰的 int。long:修饰 int,长整型数据,可省略被修饰的 int。sign
2022-01-12 22:32:38
2275
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人