自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 那些年我与c++的叫板(一)--string类自实现

/注意char * strcpy ( char * destination, const char * source );//为深拷贝,因为如果浅拷贝的话,共用一块空间,那结果可想而知。//只析构_str上的资源。//注意pos=0时,对应的值为size_t类型,要int转。if (this!= &s)//排除等于自身的情况。// len大于前面字符个数时,有多少删多少。// len大于后面剩余字符,有多少取多少。//本string简单实现,代码量小,故直接写在声明中。//拷贝构造,可以隐式类型赋值。

2024-05-15 22:50:44 773 1

原创 邂逅Linux--常见指令,万物为文件(一)

类UNIX-r:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。-i:在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖。。-u:仅复制源文件中更新时间较新的文件。

2024-05-11 19:19:53 923 4

原创 那些年我与c++的交友日记(初识三):string类的(详细)常用函数与补充三种string遍历方式

(只可意会不可言传啊,苦笑)

2024-05-04 00:18:35 620 4

原创 从例题出发,提高离散数学兴趣(一)集合关系

本次与大家就讲到这里了,大家多多支持!

2024-04-21 22:51:24 139 4

原创 那些年,我与c++的交友日记(初识二):(保姆级教学)三大重要默认函数与栈的实例(c++的受益者)

注意:一个类只有一个构造函数与析构函数,任何说有二个构造函数或二个析构函数都是错的!我总结以下几个原则!1,构造顺序是按照语句的顺序进行构造,析构是按照构造的相反顺序进行析构!2,对象析构要在生存作用域结束的时候才进行析构!3:类的析构函数调用一般按照构造函数调用的相反顺序进行调用,但是要注意static对象的存在, 因为static改变了对象的生存作用域,需要等待程序结束时才会析构释放对象!4,全局对象先于局部对象进行构造,局部对象按照出现的顺序进行构造,无论是否为static!

2024-04-11 23:33:11 791 4

原创 那些年,我与c++的交友日记(初识)一:找素数

C++是C语言的超集,因此C语言的代码在C++中通常可以编译和运行。C语言虽然简洁、紧凑,但标准库相对较少,主要集中于算法和程序流程,而不包括图形处理。C++提供了更丰富的数据结构和语法特性,如引用、异常处理等,而C语言则相对简单。C++拥有更丰富的标准库,包括更高级的数据结构和算法,以及更好的图形处理支持。C++允许在结构中定义成员函数,而C语言中的结构体只有成员变量,没有成员方法。C语言则是一种面向过程的编程语言,主要关注于算法和程序流程,而不是对象和类。cout

2024-04-08 17:04:49 895 3

原创 c++支持重载函数而c不支持,在翻译环境中的解释

包括:1,处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型 不同的问题。1,预定符号,_ _FIEL_ _路径,_ _DATE_ _日期,_ _TIME_ _时间 _ _LINE_ _行号。如上,就是重载了,在c中是不支持的,在c++支持!

2024-04-01 18:14:07 925 2

原创 离散数学--谓词逻辑之复习与前束范式与谓词演算的推理理论

(口vi)A,其中可能是量词或量词3, vi(i=1,2,…,n)是客体变元,A是没有量词的谓词公式。一个公式,如果量词均非否定地在全式的开头,它们的作用域延伸到整个公式的末尾,则称此公式叫前束范式。证明: 首先利用量词转化公式,把否定深入到命题变元和谓词填式的前面,其次利用。前束析取范式:前束范式中量词后的括号内是析取范式形式.前束合取范式:前束范式中量词后的括号内是合取范式形式.任意一个谓词公式,均和一个前束范式等价。如果对个体域中某个特定客体c,有。成立,则在个体域中,必存在。这样便得到前束范式。

2024-04-01 00:13:42 624 2

原创 离散数学之范式方法

析取范式,极小项概念:?与给定命题公式等价的一个公式,如果是由基本积之和组成,则称它为命题公式的析取范式对给定的命题公式来讲,仅含有极小项的析取的等价式称为给定命题公式的主析取范式。在n个变元的基本积中,若每个变元及其否定并不同时存在,且二者之一出现一次且仅出现一次,则称此基本积为极小项在真值表中,一个公式的真值为T的指派所对应的极小项的析取,即为此公式的主析取范式。方法:1,真值表法 (注意有三个以上的变元,不建议使用) 2 ,等价公式法AS:求¬(P∧Q)的主析取范式合取范式。

2024-03-23 18:58:53 831 3

原创 插入排序的优化--希尔排序(数量级到顶时,有时竟然比堆排序快!)

今天,我们来讲一下希尔排序!

2024-03-21 13:27:43 923 6

原创 二叉树的遍历(前,中,后,层序遍历)

前序是“根左右”中序是“左根右”后序是“左右根”层序是“一层一层,从上到下”注意:前序有许有多种情况,但是可能是一样的排序,包括中后一样!图解:如下是一个数的前中后序层序遍历:代码实现:首先,我们先创建一个树:(在这里我简单给个数组来存储一个数上的节点数据)铁汁们,你想要那个就用哪个!我用char好了,Int比较常见!ok,我们输入数据;共有代码!// 二叉树前序遍历return;

2024-03-18 15:50:15 823 1

原创 离散数学之命题逻辑一

命题公式可按下述法则来生成:1)孤立的命题变元是一个命题公式。2)若A是命题公式,¬A也为命题公式。3)若A、B是命题公式,则(AΛB)、(A∨B)、(A→B)、(A↔B)均为命题公式.3,定义:命题公式A在其所有可能的赋值下取得的值列成的表称为A的真值表。

2024-03-14 23:25:35 883 2

原创 百亿位富豪的苦脑,Top-k问题求解

情景引入:假如你处在的世界有百亿个富豪,你是这个世界一位富豪,想知道百亿个富豪中最富有的前10位!因为大根堆只能找到最大的那一个!(铁汁们可以自己思考一下!然后,我们用向上调整法建小根堆,在fscanf读取,直到找到最大的那一个数!printf("最大前black数据为!printf("请输入你要找的前几个数!哈哈,你请了一位大师,它就是对排序中的Topk!注意大家不要想我一样写那么那么大的数,哈哈哈哈哈。//创建前black个数据组成的小堆。今天,就简单简单分享一下吧!我们要改变其中几个值,以方便检查!

2024-03-12 22:29:51 874 5

原创 堆排序--向上向下调整创建堆方法的复杂度(数学错位相减法)以及大堆升序和小堆降序二种方式

那我们来用数学的角度来分析一下他们的复杂度!注意:时间复杂度是从最坏的情况来看的!要对二叉树的性质有了解!首先,我们从向上创建堆的角度来看(我愿意称为多乘多)如图,是一个树形结构;ok,老铁我们来看。我们把总节点数记为N; h为树的层数(把根节点记作为第一层); F(h)为该种创建方法下最坏要进行交换的次数!注意:第二层要交换的次数为1次,第三层交换次数为2次,.......第h层要交换的次数为h-1次所以我们写出, F(h)=2^1*1 + 2^2*2 + 2^3*3 + 2^4*4 + 2^5*

2024-03-11 00:01:53 937 7

原创 独特好解之排序方法--简单基础堆排序

相信数组大家都不陌生,我们再学习栈的时候,就是通过数组来实现的,我们创建的结构体,数组指针,以及入栈(扩容),出栈(空间是否为1的分情况讨论)等操作其实在堆排序中也能遇到!完全二叉树:深度为k,有n个节点的二叉树当且仅当其每一个节点都与深度为k的满二叉树中编号从1到n的节点一一对应时,称为完全二叉树。满二叉树:如果一棵二叉树只有度为0的节点和度为2的节点,并且度为0的节点在同一层上,则这棵二叉树为满二叉树。节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;(以我们push(5)为例)

2024-03-09 00:06:10 947 3

原创 每日一题:巧妙的循环队列

2,数组比较简单,代码量小 3,用front,rear 比链表更有实现性!日复一日,我们知识慢慢增长,如今我们学过很多循环,有单向循环链表,双向循环链表等,似乎“循环”以及在外面心中不在陌生,今天我要分享的是循环队列;我们略微思考一下,我们push四个数字,为push(1),push(2),push(3),push(4),看一下效果!

2024-03-07 00:04:25 867 5

原创 每日一题之零钱兑换--完全背包问题

完全背包问题有一个很简单有效的优化,是这样的:若两件物品i、j满足c<=c[j]且w>=w[j],则将物品j去掉,不用考虑。这个优化的正确性显然:任何情况下都可将价值小体积高的j换成物美价廉的i,得到至少不会更差的方案。:虽然随着时代发展,现在我们都用支付宝,微信等进行支付,但我相信大家都有过用现金付钱的时候,当时你是否思考如何快速找出最优方法(我们假设你每种货币类型都有无限个)(你是亿万富豪),其实这是一个编程问题--我们假设我们货币有以下几种类型:1元,5元,10元,20元,50元,100元(

2024-03-05 23:54:26 881 1

原创 环形链表中的环判断(快慢指针版)与(缘分)

我们要分奇偶数讨论,当N为偶数时,为0时追上了,当N为奇数时,就为-1了,我们设环度为C,-1意味着他们之间的距变成了C-1,进入了新一轮循环;slow走一步,fast走二步为例。fast先进环,过一会,slow也进环,假设此时slow与fast之间距离为N,则每追一次,距离减少一,那当距离为0时,则追上了。那在这种情况下,如果c-1为偶数时,则fast还可以追上slow, 但是 c-1为奇数时,则fast不可以追上slow,什么事带环的链表,简单来说就是成一个循环的链表,但又不是双向链表,如图。

2024-02-04 13:08:24 410 3

原创 c语言----单向链表的前后置换

如我们所知,置换是我们常见的一个问题,如何进行高效的交换一直是我们津津乐道的一个话题。方法一:创建一个新的链表来进行逆向输出----二指针!这也是我们容易想到的一个方法!希望大家多多支持,有第三种方法的道友以及想与我一起探讨的可以关注我,更多精彩;我来展示一下代码,我们手动输入,然后进行调用一个自编函数输出逆向的链表!按所属类别来看,今天我们的链表属于单向不循环不带头类链表。首先,我们先写一个二种方法都公用的一部分,即节点的创建与输入!所以,我们要注意的是:我们不能找尾节点的指针来逆向遍历!

2024-01-28 21:04:16 429 5

原创 C语言中的文件和文件操作

关于文件和文件的一些知识

2024-01-23 19:24:55 830 2

原创 扫雷,启动!

1. 布置雷//在game.h中要用到<stdlib.h>,<time.h>,进行随机布置雷!我先讲一下#include<stdlib.h>,#include<time.h>来生成随机数,生成雷的坐标!先来原理图:统计用坐标来显示值,因为0+1=1;然后,我们来创建二个数组,一个存放布置好的雷,另一个存放排查出的雷的信息。然后,我们规定有雷为“1”,无雷为“0”,生成雷的坐标!,中的,老铁可以先了解一下rand()函数。2,当然,我们点一个,要显示周围雷的个数。来来来,老铁,我们来进行游戏模块的制作!

2023-10-30 22:59:12 132 3

空空如也

空空如也

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

TA关注的人

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