- 博客(6)
- 收藏
- 关注
原创 C语言实现简易的三子棋游戏
本篇文章使用C语言实现一个简易的三子棋游戏,实现的语法非常基础,只涉及到了条件判断、循环、数组等,非常适合刚学习C语言不久的同学复习、巩固C语言的基础语法。由于没有使用UI框架,游戏将会在控制台窗口中运行。,这是由于VS不支持使用scanf(),加了这条语句解决这个问题。
2023-10-07 18:37:49
47
1
原创 C++ Prime Plus——第三章 处理数据
32位指的是二进制位,后面的6位指的是十进制位。由于单精度浮点数(float)在计算机中存储时有23位尾数(存储的是小数部分的二进制位)和1位始终为1的整数部分(该部分不进行存储),加起来一共24位,而4位二进制数可以完整的表示一个十进制数,因此24位二进制位可以表示6位十进制位,超过这个范围数字就不准确了。可以看到计算的结果出现了误差,这正是由于一些小数是无法使用二进制精确的表示的,导致尾数很长(尾数只能存23位二进制位),而C++只保证float有6位十进制有效位,当有效位超过6位时数值就不精确了。
2023-09-16 20:04:34
101
1
原创 最短路径——Floyd算法与Dijkstra算法
Floyd算法,也被叫做插点法,可以解决多源最短路径的问题,即通过在两个目标点之间插入第三个点作为中转点,从而达到缩短目标点之间距离的目的 (利用《啊哈!算法》一书中的图片更有助于理解 箭头标记的数字为两点之间的距离,我们可以发现通过某个点可以是另外两个点之间的距离减小,且不影响它们之间的连通性 我们用一个二维数组map[I][j]存储上图,i,j任意两点的序号,map[I][j]的值为这两点间...
2019-03-08 09:28:34
343
原创 利用指针实现两个变量的值交换
更好的理解指针 #include<iostream> using namespace std; void swap_1(int a, int b)//无法实现值交换 { int flag; flag = a; a = b; b = flag; } void swap_2(int *a, int *b)//在函数中能实现值交换,但无法返回主...
2019-03-05 23:31:01
5551
原创 经典数据结构——并查集
并查集由一个整数型的数组和两个函数构成。数组pre[]记录了每个点的前导点是什么,函数find是查找,函数join是合并。 这张图反映了并查集的基本思路,每个人都有自己的上级,由等级最高的人(祖先)统领这些关系,由此构成了如图的一个个群落,可以将这n个人比作n个独立的点,而关系就是连接两个点之间的路径 并查集find()函数与join()函数的初始化 int find(int x)//找到x的祖...
2019-03-04 23:21:21
213
原创 简单大数加法(HD1002)
第一次写博客,菜鸟记录记录自己的学习过程 原理比较简单,利用数组存储大数,按逆序进行对应位置的相加,并逐个处理进位。 //大数加法 #include&amp;amp;lt;iostream&amp;amp;gt; #include&amp;amp;lt;cstring&amp;amp;gt; #include&amp;amp;lt;algorithm&amp;amp;gt; #include&
2019-03-03 11:57:28
308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人