自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多态原理、虚表指针与虚基表的内存布局。

继承和多态是OOP三大特性其中两个重要特性,多态又是在继承的基础上实现的,二者糅合在一起使用语法比较复杂,本文将讲述一些基本使用语法,多态的原理、虚函数表的内存布局和菱形虚继承等。

2022-11-28 14:43:48 246 1

原创 centos7.9安装libmysqlclient,用C语言连接mysql

mysql版本是8.0.31。在centos7.9中使用mysql C API连接并操作数据库。编译时需要指定链接库名libmysqlclient以及路径。这个库是放在/usr/lib64/mysql下的。

2022-11-22 16:49:10 571 1

原创 138. 复制带随机指针的链表

138. 复制带随机指针的链表一种方法是用哈希,用哈希的话比较容易想到,实现起来也不难。下面介绍另一种方法。思路及代码1、每经过一个节点便在这个节点的后面插入该节点的浅拷贝,直到链表结束。2、用p遍历链表、p每次前进2步,p的浅拷贝即为p->next,p->random->next节点便是p的浅拷贝(即p->next->random)的random值。3、把链表拆开。代码如下:struct Node* copyRandomList(struct Node* he

2022-05-11 15:33:05 177 15

原创 【链表】leetcode 21合并2个有序链表、19删除链表的倒数第 N 个结点

链表系列leetcode21、19前言:这两道题目花了我挺久时间的,因为总有一些边界条件要单独处理,思路不难难道如何顺利流畅的改变链表的连接。为此这两题都用创建一个哨兵节点指向头节点的方式来简化操作。建议操作链表时一定要拿出纸和笔来画一画。动态规划规划解题五部曲 leet53、198题请点击文章目录链表系列leetcode21、19标题21[合并2个有序链表](https://leetcode-cn.com/problems/merge-two-sorted-lists/)二、[删除链表的倒数第N个节

2022-04-13 22:09:24 78 9

原创 [动态规划系列]leetcode413、64解题思路即代码

动态规划系列leetcode413、64前言:这两道题目都不算很难,递推公式不难推导,而且递推公式不会因为考虑不全面导致错误。413题等差数列的个数推导有规律可循。 这两题都是采用我自己的思路写的,还有可以优化的空间。动态规划规划解题五部曲 leet53、198题请点击文章目录动态规划系列leetcode413、64413. [等差数列划分](https://leetcode-cn.com/problems/arithmetic-slices/)二、[64. 最小路径和](https://leetco

2022-04-13 21:17:39 79 9

原创 简易通讯录实现思路及源码

C语言实现的通讯录及源码自己做完后试了一遍,基本功能没有大问题(在菜单栏选择的时候如果输入的不是数字会有 bug ),源码在最后的链接。提示:源码放在最后,因为写这项代码的时候我的电脑编码格式进行了设置,所有直接复制代码的话打印的中英文应该是会乱码。因为我把电脑编码格式改成默认之后运行也乱码了。解决方法:https://blog.csdn.net/qq_42468226/article/details/118573600,设置好后可以不重启电脑,把代码演示完再改回去就好了。我保证这是最后一个不设置编

2022-04-12 22:10:34 958 9

原创 [动态规划]解题的套路五部曲,leetcode 53、198 解题举例

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言今天正式开始刷leetcode动态规划专项了,我会把动态规划解题的相关注意点也写出来。等动态规划刷的差不多了开启下一系列。一、动态规划是什么?

2022-04-08 22:01:28 293 16

原创 青蛙跳台阶和汉诺塔非递归实现及汉诺塔详解,附源码

一、分治法是什么?分治法,顾名思义就是分而治之。把一个父问题看成2个或者多个子问题的求解,再把子问题看成更小的子问题求解,知道最后的子问题可以简单直接求解。注意:1、父问题必须和子问题有相同性质。2、子问题的规模是再不断缩小的。汉诺塔和青蛙跳台阶以及快速排序等就是采用了分治法。二、青蛙跳台阶问题题目说明:一只青蛙可以一次跳 1 级台阶或一次跳 2 级台阶,例如:跳上第一级台阶只有一种跳法:直接跳 1 级即可.跳上两级台阶,有两种跳法: 每次跳 1 级,跳两次; 或者一次跳 2 级.问要跳

2022-03-31 14:47:47 823 19

原创 三子棋实现思路

三子棋实现思路—自己做完后测试了一遍,基本玩法没有大问题(在菜单栏选择的时候如果输入超出预期会有bug 和上一个项目一样doge),源码在最后的链接。提示:源码放在最后,因为写这项代码的时候我的电脑编码格式进行了设置,所有直接复制代码的话程序运行结果可能会乱码。因为我把电脑编码格式改回默认之后运行也乱码了文章目录三子棋实现思路实现思路部分代码1、判断落子区域2.判断实现思路1、玩家可以选择先手还是后手,玩家的棋子是‘@’,机器的棋子是’*’,目前没有棋子用‘_’表示。2、游戏开始后初始化并展示

2022-03-27 17:07:24 3699 10

原创 扫雷实现思路及源代码

基本实现了扫雷的玩法。

2022-03-25 23:21:16 4073 8

原创 sizeof和数组的那些事。

如果sizeof内是一个表达式,这个表达式是不会进行运算的,最后输出的结果是该表达式最后结果的类型。在下面代码块中第二行的sizeof内的表达式 b=a+3不会真正运算,输出的是表达式内b类型的长度。第一行可以看作一维数组,这个数组名称是arr[0],即arr[0]也是数组名,但是arr[0]+1是第一行第二个元素(下标是arr[0][1])的地址。2、&数组名 表示整个数组,取出的是整个数组的大小,&数组名+1 会跳过整个数组;最后祝大家平安,身体是革命的本钱,拥有健康的身体才有无限的可能。

2022-03-22 12:07:59 776 4

空空如也

空空如也

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

TA关注的人

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