自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cukor丘克的博客

一起学习一起进步!!!

  • 博客(71)
  • 资源 (2)
  • 收藏
  • 关注

原创 和Ai一起学习CMake(一)

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。CMake不直接编译软件,而是结合原生构建系统来构建软件。CMake的产生可以追溯到20世纪90年代,当时开发人员使用的构建工具很有限,需要为不同的平台编写不同的Makefile,这极大地增加了软件开发的难度和复杂性。

2023-05-04 18:49:34 1192 1

原创 Java中jar包的创建和使用

jar包的全称是。jar包本质就是一种压缩包。在Java开发中一般是用来压缩类的一个包。类似C/C++中的静态库和动态库,但是又不完全是。C/C++中的静态库和动态库是对中间文件(*.o)打包成一个二进制包。Java的jar包是对编译好的字节码打包到一个jar包中。不带主类的jar包就和C/C++的库差不多了,带主类的jar包在运行的时候就需要使用jar.exe来运行。

2023-04-16 23:02:45 4590 1

原创 快速幂算法

因为计算机底层是二进制,所以我们就采用二进制的版本,然后再采用代码上的语法优化,这样应该是更好一点,因为其它进制的版本可优化的点并不多。所以从二进制的分法和三进制的分法可以看出,不管怎么分都是可以合起来达到10.只要能达到10的说明采用什么进制分法都是可以的。上面的快速幂算法还是比较好理解的,下面的快速幂算法就比较的炫技了我觉得,但是也就那样(原理还是上面的,只是不是对半分而已,而是根据进制数来分)。那么这个采用二进制的方法分,当然也有三进制的,四进制的,五进制的等等。变化而来,因为采用的是二进制。

2023-04-09 12:26:09 769

原创 遗传算法解决旅行商问题(TSP)

旅行商问题(TSP). 一个商人欲从自己所在的城市出发,到若干个城市推销商品,然后回到其所在的城市。如何选择一条周游路线,使得商人经过每个城市一次且仅一次后回到起点,并使他所走过的路径最短?TSP 即Travelling Salesman Problem. 中文翻译过来就是旅行商问题。旅行商问题是一个典型的NP难问题。NP指的是Non-deterministic Polynomial,即多项式复杂程度的非确定性问题。由于该问题的组合特性,旅行商问题已成为测试新算法的标准问题,如模拟退火、神经网络和演化算法等

2023-01-02 20:33:03 1622 1

原创 遗传算法解决函数优化问题

因为在设计编码的时候就是按照定义域a到b的范围设定的,所以不管怎么随机得到的二进制位串,解码之后都是在a到b的区间内。生物进化是指一个种群经过漫长的时间所发生的累积变化,这些变化是由于生物体的基因变异或在繁殖期间以不同方式重组基因所产生的,而且这些变化可以被遗传到生物体的后代。那就把图画出来,用遗传算法把每一代的最优个体所对应图像上的点绘制出来,最后在历代最优个体中选出适应值最高的个体,这个个体(可能解)就当作是函数。因为之前采用的编码是二进制编码,所以后面提到的遗传算子的交叉、变异都是基于二进制位串的。

2022-12-31 16:34:19 2691

原创 动态规划的简单套路(C++描述)

作者:Cukor丘克。

2022-11-26 21:45:36 529

原创 13_Rust中的枚举

例如,如果请求一个包含项的列表的第一个值,会得到一个值,如果请求一个空的列表,就什么也不会得到。比如,性别就可以是一种枚举类型,性别的值只能是男或者女(那种不伦不类的就算了,这里不谈)。当你去使用性别这种枚举的时候,要么是男,要么是女,不可能两个都取,也不可能一个都不取。安全的认定它的值不为空。这是 Rust 的一个经过深思熟虑的设计决策,来限制空值的泛滥以增加 Rust 代码的安全性。简单来讲,枚举就是一种类型,这种类型中可包含多个值,但是在实际去使用枚举的时候只能使用这么多个值中的其中一个。

2022-10-17 23:57:21 481 1

原创 12_Rust中的方法

定义方法的方式和定义函数的方式类似,也是采用fn作为标识,但是方法比函数多一点的就是需要被包含在impl中。impl是implementation的简写,翻译成中文就是实施,实现的意思。在Rust中所有的方法都必须在对应的结构体的impl中实现,并且方法的第一个参数是&self,其中&self就是指向当前对象的引用,类似于C++中的this、Java中的this、Python中的self.impl 结构体名 {

2022-10-15 22:55:12 574

原创 11_Rust中的结构体

因为学Rust的同学基本都是从C/C++过来的所以,对于Rust中的结构体就不用讲得太细,因为基础内容都是差不多的,只是有一些地方会有小小的区别。在前面数据类型的时候介绍过元组,在C++的泛型那块也有元组的出现,如果要追溯到C语言的层次的话,结构体才是复杂数据类型的鼻祖。在复杂数据类型这块,一切都是从C开始演化过来的,包括像C++的类,Java的类也是从C语言的结构体开始。

2022-10-13 21:25:55 949

原创 10_Rust中的所有权机制

Rust 的核心功能(之一)是所有权(ownership)。虽然该功能很容易解释,但它对语言的其他部分有着深刻的影响。所有程序都必须管理其运行时使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时有规律地寻找不再使用的内存——例如Java、Python等;在另一些语言中,程序员必须亲自分配和释放内存——例如C、C++等。Rust 则选择了第三种方式:通过所有权系统管理内存,编译器在编译时会根据一系列的规则进行检查。如果违反了任何这些规则,程序都不能编译。

2022-10-10 18:37:45 274

原创 09_Rust中的控制流

控制流其实说的就是分支和循环。

2022-10-10 18:32:32 501

原创 08_Rust中的函数

函数在 Rust 代码中非常普遍。main函数是很多程序的入口点,且有且仅有一个。

2022-10-08 21:20:11 475

原创 07_Rust中的数据类型

在很多底层语言中,并没有进行这类检查,这样当提供了一个不正确的索引时,就会访问无效的内存。因为学Rust的同学基本都学过C语言了,所以这些非常非常基础的东西就不再累赘了,因为都差不多的,一些差异的内容需要补充的可以到Rust官网中查看。Rust的字符默认使用Unicode编码,C语言一般是使用ASCII编码(这个由编辑器决定,有些地方出现乱码是因为编辑器使用的编码和终端显示的编码不对应导致的)。从C语言的角度看,元组就是简写的结构体类型。元组中的每一个位置都有一个类型,而且这些不同值的类型也不必是相同的。

2022-10-08 21:16:36 811

原创 06_变量与可变性

程序一开始,使用一个x变量绑定到5身上,即使用5赋值给x变量(不可变),将x+1的值赋值给名字和x相同的变量(不可变)中,于是原来的x就被遮蔽,在后续的代码中如果使用到了x则是使用第二个x变量,直到该x被遮蔽或者生命周期结束。因为mut是声明变量是可变的,但是它的可变只是值变了,但类型并不能改变,而let隐藏这是使用一个新的变量来遮蔽原来的变量,新的变量当然可以是新的值也可以是新的类型。在Rust中,很奇怪的现象就是,变量默认是不可变的,而常量也是不可以改变的,但是这两个是不一样的东西。

2022-10-08 21:15:29 226

原创 05_cargo工具

build指令包含check的功能,即在执行cargo build时,会先把check的功能做了,也就是先检查项目是否可以编译通过,如果编译不通过则打印出错误,如果编译通过了则生成可执行文件。cargo给开发者提供了一个可以检查项目的命令叫check,通过cargo check可以知道我们所写的项目是否可以编译通过,如果项目有错误,则不会通过编译,则不会生成可执行文件。通过cargo new指令生成的Rust项目,则在项目的内部有一个src文件夹——专门用来存储Rust源文件的文件夹。

2022-10-05 14:45:11 462

原创 04_Rust的注释

Rust的注释Rust的注释和C语言的一样单行注释// 这是单行注释多行注释/* 这是多行注释 这里面都是注释 编译器会自动跳过这里的内容 这里的内容是给人看的*/文档注释Rust 也有特定的用于文档的注释类型,通常被称为 文档注释(documentation comments),他们会生成 HTML 文档。文档注释使用三斜杠 /// 而不是两斜杆以支持 Markdown 注解来格式化文本。文档注释就位于需要文档的项的之前。具体的看官方文档吧。因为平常用的比较多的注释就单行注

2022-10-04 17:35:00 180

原创 03_Rust的第一个程序

处于好奇心打开main.pdb文件,会发现得到的是一堆乱码,其实这个东西是一个二进制文件,类似于使用gcc/g++编译c/c++文件时得到的*.o一样。在Linux上可以使用vim等,在windows上可以使用记事本也可以使用vscode等。根据老传统,编程语言的第一个程序都是打印HelloWorld字样 ,这个传统是从C语言诞生时流传下来的。所以现在我们先使用windows上的记事本来编写一个rust版的HelloWorld程序。好了,这个就是rust的第一个程序,经典二传统的HelloWorld程序。

2022-10-04 12:59:14 619

原创 01_Rust环境搭建

Rust是一种兼顾安全性和运行速度的编程语言,目标是代替C++语言。

2022-10-04 12:56:45 692

原创 SQL的入门基础

这个是因为Ta没有进行“使用数据库”这个操作,就默认使用的数据库是上一次使用的数据库,在SQL server中,刚刚连接时使用的是哪个数据库就是把表创建到哪个数据库中了,一般默认是在master数据库中。这个就好比,你已经进入到一个房子中,也把房间建立起来了,但是你却没有进入到这个刚刚创建出来的房间(schema)中,那你当前的位置当然是在当前房子的大厅(dbo)的位置,之后你要在这个房子放一张床(创建一张表),就默认放在大厅。在学习数据库的时候,一定是基于某一个数据库下进行对某个表的进行操作。

2022-09-21 22:19:25 1330

原创 数据结构之二叉查找树Java泛型版

二叉查找树是父节点的权值比其左子树的权值大又比其右子树的权值小的二叉树。二叉查找树可递归生成,并且每一颗小子树都是二叉查找树。根据二叉查找树的特点对其进行中序遍历会得到一串有序的序列,故又称二叉查找树为二叉排序树。二叉查找树的查找发挥了二叉树的二叉的优势,并且二叉查找树适合对原序列进行插入和删除操作,原始的二分查找是在数组中进行查找操作不适合进行插入和删除操作。

2022-09-07 23:52:59 543 2

原创 数据库系统的特点

例如,在学籍管理中有学生和课程两类数据,在数据库中除了要存放这两类数据之外,还要存放哪些学生学习或选修了哪些课程,或哪些课程由哪些学生选修这样的信息,这就反映了学生数据和课程数据之间的联系。在数据库技术出现之前,数据文件的组织方式和应用程序是密切相关的,当改变数据结构时相应的应用程序也必须随之修改,这样就大大增加了应用程序的开发代价和维护代价。因为有多份是一样的,当数据需要修改时,就必须将所有的数据都修改一遍,如果落下了一个就会导致数据的不一致性。数据的组织和物理存储是由数据库管理系统负责的。

2022-09-06 23:37:59 597

原创 数据库概论(简单介绍)

经过了将近40年,关系数据库系统的技术也不断完善和提高,有关数据管理和数据库的新的研究课题不断取得进展。分布式数据库已成为实用技术,基于关系模型、支持面向对象方法的关系对象模型数据库也已问世,开放数据库技术和互联网上的Web数据库、支持移动应用的移动数据库等。​ 在计算机的诞生初期,计算机主要是用于科学计算,虽然此时同样有数据管理的问题,但这时的数据管理是以人工的方式进行的,后来发展到文件系统,再后来才是数据库。层次数据库和网状数据库是面向专业人员的,要求使用人员有较高的技术水平,使用起来比较困难。

2022-09-06 16:23:38 729

原创 JavaScript入门基础01

文章目录JavaScript是什么Java和JavaScript的关系JavaScript的环境配置解释一下HTML的代码写一个简单的JavaScript程序JavaScript是什么JavaScript是一个编程语言,主要是在浏览器中运行。JavaScript是主要领域是处理网页后端,因为主要是和前端的HTML和CSS打交道,所以一般JavaScript被归为前端。简单认识前端三大件(HTML、CSS、JavaScript)的关系:HTML是网页页面的基础结构,CSS是用于修饰页面的,JavaSc

2022-05-22 23:48:48 169 1

原创 数据结构之平衡二叉树C语言版

作者:Cukor Zhong什么是平衡二叉树平衡二叉树是具有平衡属性的有序二叉树,所谓的平衡即当前树的左右子树高度差的绝对值不超过1。因为平衡二叉树是由苏联数学家Adelson-Velskii和Landis提出,所以又称为AVL树。平衡二叉树的基本特点是特殊的有序二叉树左右子树高度差的绝对值不超过1左右子树仍然是平衡二叉树

2022-04-16 00:06:22 4621 2

原创 静态库和动态库基于Windows和VScode

基于Windows和VScode关于C/C++的静态库和动态库创建和使用。

2022-02-12 22:04:42 6944 4

原创 VScode配置C/C++环境

VScode配置C/C++环境的两种基本方式,求求你别再用run conner了

2022-02-12 21:59:29 586

原创 Qt小案例《加法计算器》

Qt小案例《加法器》要使用到的头文件QApplicationQWidgetQLabelQLineEditQPushButtonQDoubleValidatorQHBoxLayout案例的要求实现一个加法器(简单的数字计算)水平布局,可任意缩放x+y=zx和y只接受数字;z只能展示x+y的结果,不能编辑在x和y的内容是正确之前等号的按钮是禁用的效果展示x和y没有数字的时候,等号按钮是灰的(禁用的)x和y都有数字的时候,等号的按钮是亮的(可使用的)按下“

2022-01-24 23:17:07 2098 2

原创 数据结构之有序二叉树C语言版

数据结构之有序二叉树C语言版文章目录数据结构之有序二叉树C语言版什么是有序二叉树有序二叉树的优点简单实现有序二叉树有序二叉树的样子有序二叉树的结构体描述有序二叉树的各个函数的实现主函数简单测试什么是有序二叉树从名字就可以知道的是有序二叉树是二叉树的一种,这种二叉树中的数据是排好顺序的,这里实现的默认使用从小到大的排序方式。就是从外界插入进来的数据不需要使用者自己排序,在插入数据的时候就已经自动排好序。有序二叉树又称为二叉搜索树。有序二叉树的优点数据插入进来就直接排好序查询速度快最坏的情况下

2021-11-28 21:03:32 1595

原创 [22] C++命名空间namespace

C++命名空间namespace文章目录C++命名空间namespacenamespace的基本概念namespace的要点和主函数同文件下的命名空间不和主函数同文件下的命名空间命名空间定义和声明写在一块命名空间定义和声明不写在一块含有自定义类型的命名空间和主函数同文件下不和主函数在同文件下的namespace的基本概念namespace被翻译过来是命名空间或者名称空间。namespace的主要作用是将代码区域化。在开发的过程中可能会存在命名相同的情况,这个时候如果使用了namespace将代码划分起

2021-11-16 18:19:24 871

原创 数据结构之普通队列C语言版(简单易懂)

数据结构之普通队列C语言版文章目录数据结构之普通队列C语言版什么是普通队列简单使用C语言实现普通队列前期准备结构体封装初始化队列判断队列是否为空判断队列是否满队获取队列当前元素个数获取队头出队函数测试函数什么是普通队列队列是一种数据结构,是用来存储数据的,普通队列是队列里最简单的,也比较好理解。操作和栈是差不多的。队列和栈的区别就是,栈是先进后出,队列是先进先出。然后就没有多大的区别了。简单使用C语言实现普通队列队列的基本概念就这么多,想深入了解概念的请看课本去。这里是使用编程语言来实现队列的。

2021-11-08 22:57:55 934

原创 离散数学之集合论(上)

离散数学之集合论文章目录离散数学之集合论使用的书籍写作的目的集合概念集合的基本性质集合的表示枚举法叙述法归纳法递归指定集合法文氏图解法集合和元素的关系集合与集合的关系几个特殊的集合使用的书籍《离散数学及其应用》(第3版)傅彦等编著。写作的目的为了记录学习离散数学的过程。写下自己理解的离散数学,就是为了边学习边记录就比较有意思。个人水平有限,文章中有错误的地方,大家可以指出来。然后我主要写的也是我理解的,课本上的带一下就行,如果把课本上的也写下来,那你还不如直接看课本。集合英文单词是se

2021-11-06 19:05:43 1192

原创 [8] Java中的访问控制权限

Java中的访问控制权限文章目录Java中的访问控制权限所谓的访问控制权限都有哪些?为什么要有访问控制权限?四个访问控制权限的可见性表private在同一个包中不在同一个包中在当前类中default在同一个包中不在同一个包中protected在同一个包下不在同一个包下public简单的使用这些权限限定词来封装一个美女类所谓的访问控制权限都有哪些?Java中共有4个访问权限:public (公有的)protected (被保护的)default(默认的)private (私有的)也

2021-11-06 01:59:14 1733

原创 [7] Java包机制

Java包机制文章目录Java包机制初识Java包包的定义命令行创建包Intellij IDEA中创建包包的导入包的静态导入初识Java包包的本质:包其实就是文件夹包的用途:主要用来管理类的,当项目做大的时候肯定要写很多的类,如果都放在同一个文件夹下面,就看到得很乱,使用包类整理一下,就看得比较清晰。然后包也可以解决一些类的同名情况,把相同的类放在不同的包,那这两个类就是不一样的。包的由来:其实也是为了防止重复造轮子,所以Java就把已经写好的类放在一个文件夹中,下次要使用的时候直接导入包然后就直

2021-10-30 14:10:55 196

原创 [6] Java代码块

Java代码块文章目录Java代码块初识Java代码块普通代码块构造代码块静态代码块初识Java代码块代码块是在程序中使用一对大括号{}定义起来的一段代码。Java的代码块一共四种代码块:普通代码块构造代码块静态代码块同步代码块在代码块中加上一些关键字会有特定的效果,一般代码块可以起到优先执行的作用。同步代码块的内容放在多线程吧,没学到那么快。普通代码块普通代码块是定义在方法中的代码块,可以将同名的变量进行区域划分。解决重复定义的问题。直接看代码:public class Cod

2021-10-28 23:25:52 145 3

原创 [1] Qt有C++基础入门

Qt有C++基础入门文章目录Qt有C++基础入门初识QtQt的创始人Qt的下载与安装初识Qt Creator并编写HelloWorld程序初识QtQt是“cute”可爱的意思,可能是老外比较喜欢可爱的吧。Qt是C++的框架,是一套应用程序开发类库,和MFC不同的是Qt是跨平台的开发类库。Qt可以开发桌面应用型软件(比如WPS)。除此之外Qt还支持移动和嵌入式操作系统。Qt的创始人Haavard Nord和Eirik Chambe-Eng在1991年开始开发Qt。在1994年正式发布Qt,并成立Tr

2021-10-26 19:18:44 621

原创 [21] C++STL容器篇之栈

C++STL容器篇之栈文章目录C++STL容器篇之栈包含是的头文件STL中stack的一些成员函数简单的时候一下栈stack自己简单封装一下STL的stackMyStack.hpp中主函数所在的源文件中对于栈这个数据结构已经是熟悉得不能再熟悉了,在C语言的时候实现过,在C++的STL里的栈stack封装得也很好,会栈的基本使用即可。包含是的头文件C++标准输入输出头文件STL栈的头文件#include <iostream>#include <stack>STL中

2021-10-25 14:14:03 219

原创 数据结构之二叉树C语言实现版 2021-10-24

数据结构之二叉树C语言实现版文章目录数据结构之二叉树C语言实现版什么是树?树的基本术语树的样子二叉树的定义二叉树的单元的样子二叉树的性质二叉树的实现二叉树结构体形式二叉树节点的创建插入节点递归遍历二叉树前序遍历中序遍历后序遍历非递归遍历二叉树前序遍历中序遍历后序遍历主函数测试什么是树?树(Tree)是n个节点的有限集,它可以是空树(n=0),也可以是为空树。对于非空树有以下特征:有且仅有一个称之为根的节点除了根节点外的其他节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每

2021-10-24 00:19:51 329

原创 [20] C++智能指针

C++智能指针文章目录C++智能指针什么是智能指针?智能指针的特性智能指针都有哪些?如何创建智能指针对象智能指针类中的一些成员函数shared_ptrweak_ptrunique_ptr什么是智能指针?智能指针就是管理指针的模板类,被包含在memory头文件中,使用智能指针的时候必须包含这个头文件。智能指针的特性自动释放内存,不再需要程序员手动释放内存。智能指针都有哪些?智能指针在C++11之前有四个现在只有三个,auto_ptr已经被删除了。剩下的三个智能指针分别是:shared_pt

2021-10-22 12:07:47 215

原创 数据结构之单链表C++版

数据结构之单链表C++版文章目录数据结构之单链表C++版包含的头文件结构体描述链表节点链表再封装各个成员函数的实现获取当前链表的大小判断链表是否为空链表头插法插入数据尾插法插入数据指定位置插入数据打印链表中的数据清理链表中的节点从链表头部开始删除节点从链表尾部开始删除节点指定位置删除节点查找链表中的数据指定位置修改数据主函数测试C++中有STL的list底层是双向链表,这里重新写一个单链表,就是写着玩。包含的头文件#include <iostream>其他就是不用了,如果想严谨一点就

2021-10-16 12:48:17 146

原创 [5] Java中的static关键字

Java中的static关键字文章目录Java中的static关键字static的基本概念static修饰类中的成员static修饰主类中的方法static修饰类中的方法static修饰代码块简单小结static的基本概念在Java中static关键字是一个修饰词,可以修饰类中的数据成员,也可以修饰类中的成员函数,但是不能在主类的main方法中使用static修饰对象,在主类中main方法外使用static关键字修饰的子方法可以在main方法中直接调用。除此之外,Java中的static可以修饰代码块

2021-10-13 19:45:53 137

vc2010epr_enu.7z

现在的计算机二级C语言或者是C++考试都是需要用到VC++2010学习版,网上找基本上都会参杂点流氓软件。这里就简单的是这个软件绝对没有什么流氓软件加身。熟悉考试的开发工具,在考试的过程中就不会太过惊慌。

2021-08-18

浪漫流星雨图形编程.mp4

代码复习_文件压缩_000245.mp4

2021-04-15

空空如也

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

TA关注的人

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