自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笑卜的小屋

个人的学习日常,博文并不一定专业

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++多态总结

函数名相同,参数列表不同(参数类型、参数顺序),不能用返回值区分。特点:作用域相同;函数名相同;参数列表必须不同,但返回值无要求;特殊情况:若某一重载版本的函数前面有virtual关键字修饰,则表示它是虚函数,但它也是重载的一个版本。作用效果:编译器根据函数不同的参数列表,将函数与函数调用进行早绑定,重载与多态无关,与面向对象无关,它只是一种语言特性。派生类对基类函数得重定义,派生类函数名与基类某函数同名。特点:作用域不同,既一个在基类一个在子类中;函数名相同;

2022-11-29 17:02:13 700 1

原创 c语言文件操作

C语言文件有关的笔记

2022-04-08 15:29:17 238

原创 C语言扫雷

扫雷

2022-01-23 13:52:08 361

原创 C语言三子棋

定义函数//初始化棋盘void InitBoard(char board[ROW][COL], int row, int col);//打印棋盘void DisplayBoard(char board[ROW][COL], int row, int col);//玩家下棋void player_move(char board[ROW][COL], int row, int col);//电脑下棋void computer_move(char board[ROW][COL], int r

2022-01-22 19:58:09 430

原创 新的开始A new beginning

新的开始

2022-01-10 16:04:08 285

原创 排序算法

冒泡排序#include<iostream>using namespace std;//(1) 比较相邻的元素。如果第一个比第二个大,就交换它们两个;//(2) 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;//(3) 针对所有的元素重复以上的步骤,除了最后一个;//(4) 重复步骤1~3,直到排序完成。int main(){ int array[] = {23,54,1,67,3,7}; int length = siz

2020-11-21 21:10:24 70

原创 位运算

1.判断奇偶只要根据最未位是0还是1来决定,为0就是偶数,为1就是奇数。因此可以用if ((a & 1) == 0)代替if (a % 2 == 0)来判断a是不是偶数。(a&1)为真就是奇数2.交换两个数 a ^= b; b ^= a; a ^= b;3.正负交换a=~a+1;4.求绝对值int abs(int a) { int i = a >> 31; return i == 0 ? a : (~a + 1);}位操作进行高低位交换

2020-11-19 22:58:32 116

原创 c++细节语法

n是intlong num=n; num=-num;与long num=-n;溢出,改成下面的

2020-11-15 16:05:44 77

原创 建立静态库

编写过程[root@VM-0-5-centos Test]# mkdir include [root@VM-0-5-centos Test]# mkdir lib[root@VM-0-5-centos Test]# mkdir src[root@VM-0-5-centos Test]# touch main.cpp[root@VM-0-5-centos Test]# lsinclude lib main.cpp src[root@VM-0-5-centos Test]# cd incl

2020-11-04 23:13:34 91

原创 Linux遇到root删除不掉普通用户

经过到教室发现这种信息,30分钟不到连续接到4条消息。赶紧到控制台看看发现好像都是从test用户登录的,由于自己对网络入侵不了解,但是我就想的是把test用户删除了。(当时为了简单,设置的test用户密码非常简单,只有4位)那起码你不能再从test用户登进来了。抱着这个想法我准备把test用户删除。发现删不了。发现竟然还有这些test在登录,我自己都不知道。执行下列命令kill -9 40934093就是test后面的数字把这些全部kill这回可以删除了,发现/home里面

2020-11-04 11:05:26 868

原创 易错笔记

栈,队列正确if(stack.empty()|| S[i]!=stack.top())异常if(s!=stack.top()||stack.empty())这里的判断不会先去判断栈是否为空,直接先比较栈顶元素是否与给定值相等。但是若是栈空,返回的比较与给定值不同。就会异常。所以如果比较栈顶元素,或是出栈,要先判断栈是否为空。...

2020-10-29 21:59:01 106

原创 2.1字符串匹配算法

KMP算法如何计算前缀表对于一个字符串aabaabaaf。匹配aabaaf对于一串字符串,从头开始于从未开始的两个字符串相等的字符个数就是最长相等前后缀长度得到的前缀表前缀表就用next数组来存储构造前缀表(构造next数组)1.初始化定义两个指针i和j,j指向前缀终止位置(严格来说是终止位置减一的位置),i指向后缀终止位置(与j同理)。再对next数组初始化。int j=-1;next[0]=j;2.处理前后缀不相同的情况如果 s[i] 与 s[j+1]不相同,也就是遇到

2020-10-27 23:39:53 125

原创 1.7二叉搜索树的修改

二叉搜索树的修改插入操作TreeNode* insertIntoBST(TreeNode* root, int val) { if (root == NULL) { TreeNode* node = new TreeNode(val); return node; } if (root->val > val) root->left = insertIntoBST(root->left,

2020-10-26 21:27:37 239

原创 1.6二叉树公共祖先问题

二叉树公共祖先问题(找两节点的最近父节点)二叉树的公共祖先如果找到一个节点,发现左子树出现结点p,右子树出现节点q,或者 左子树出现结点q,右子树出现节点p,那么该节点就是节点p和q的最近公共祖先 TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if (root == q || root == p || root == NULL) return root; Tree

2020-10-26 20:59:23 311

原创 1.5二叉搜索树的属性

二叉搜索树的属性搜索一个值二叉搜索树是一个有序树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树因此可以有方向的搜索一个值的位置递归法:TreeNode* searchBST(TreeNode* root, int val) { if (root == NULL || root->val == val) return root; if (root->va

2020-10-26 20:36:58 142

原创 1.4二叉树的修改与构造

修改与构造翻转二叉树递归法:(交换两个节点)TreeNode* invertTree(TreeNode* root) { if (root == NULL) return root; swap(root->left, root->right); // 中 invertTree(root->left); // 左 invertTree(root->right); // 右

2020-10-26 19:55:50 229

原创 1.3二叉树的属性

属性是否对称两条递归线,一路一直向外走,一路向树的内层靠近。再把递归的结果比较。是否出现不对称的情况。递归法:bool compare(TreeNode* left, TreeNode* right) { // 首先排除空节点的情况 if (left == NULL && right != NULL) return false; else if (left != NULL && right == NULL) retu

2020-10-25 23:50:44 266

原创 1.2二叉树的遍历

二叉树的遍历方式深度遍历(递归法)前序遍历 void traversal(TreeNode* cur, vector<int>& vec) { if (cur == NULL) return; vec.push_back(cur->val); // 中 traversal(cur->left, vec); // 左 traversal(cur->right, vec); // 右

2020-10-25 21:51:43 144

原创 1.1二叉树基础

二叉树总结二叉树的种类满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。完全二叉树完全二叉树:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。二叉搜索树若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分

2020-10-25 20:56:51 192

原创 稀疏数组(与二维数组的转换和复原)

稀疏矩阵当一个数组中大多数元素是0或是其他相同元素时,可以使用稀疏矩阵来保存该数组。例如若是用二维数组来存储就需要77=49个空间,二稀疏数组只需要39=27个空间。所以使用稀疏数组可以减少空间复杂度。代码:public class SparseArrary { public static void main(String[] args) throws IOException { //创建一个原始的二维数组11*11 int chessArr

2020-07-23 15:24:42 259

原创 Git推动本地仓库到GitHub

方法1.初始化一个git仓库打开要上传的文件加的根目录。git init初始化一个git 仓库点开隐藏会有一个git文件夹。再git add .再git commit -n ‘描述’再关联GitHub的远程仓库git remote add origin git@github.com:xys176/xys176.github.io.git(仓库的SSH)再git pu...

2020-04-23 15:12:11 206

原创 Java继承中构造函数的调用

踩坑日常代码public class Test1123 { public static void main(String[] args) { new A1(); new B(); }}class A1{ int i=7; public A1(){ setI(20); System.out.pri...

2020-04-22 12:42:00 1182

原创 Dijkstra的双栈算数表达式求值算法

计算一个算数表达式的值表达式由括号,运算符和操作数(数字)组成。根据4种情况从右向左逐个送入栈中。将操作数压入操作数栈将运算符压入运算符栈忽略左括号在遇到右括号时,弹出一个运算符,弹出所需数量的操作数,并将运算符和操作数的运算结果压入操作数栈在处理完组后一个右括号,操作数栈上只会有一个值,他就是表达式的值。Java代码import java.util.Scanner;imp...

2020-04-15 16:39:31 203

原创 Java的this关键词出现重载

this关键词通常会出现在构造函数中例如:有如下的几个构造函数public student(){}public student(String name){this.name=name;}public student(String name,String stuNo){this.name=name;this.stuNo=stuNo;}public student(String ...

2020-04-10 20:38:55 146

原创 01背包问题的填表方法

例题n=5,C=13,w={4,5,4,3,10},v={9,10,9,2,24}P[i.c]C=012345678910111213i=0000000000000001000099999999992000091010101019191919193...

2020-04-07 18:18:09 1798

原创 数据库-规范化总结(脑图)

2020-04-06 16:32:08 273

原创 动态规划-类数塔问题(在一个n* m的方格中,m为奇数,放置有n*m个数)

题目在一个n* m的方格中,m为奇数,放置有n*m个数,如图4-18所示。方格中间的下方有一人,此人可按照5个方向前进但不能越出方格,如图4-19所示。人没走过一个方格必须取此方格中的数。要求找到一条从底到顶的路径,使其数相加之和为最大。输出最大和的值。问题分析:如果用贪婪算法可能找不到真正的最大和。要找到最大和的前提条件就是能看到整个方格的情况。因此需要采用动态规划的算法实现此问题。算...

2020-04-04 16:53:14 7613

原创 IntelliJ IDEA 中的主类,方法无法调用

经过今天由于在idea中的操作不当,使得Java程序无法调用自带的类和方法如图:所有的调用Java自带的类和方法全部都标红了。解决方法打开Project Structure点击左上角的减号再点击加号,选择自己jdk的安装目录。确认即可。补充把jdk安装文件复制回到SDKs中,把JDK home path目录地址设置为刚才jre的目录地址。apply OK就好了。...

2020-04-01 15:26:11 3914 1

原创 动态规划-数塔问题

前言动态规划算法解决一些问题,算法的时间复杂度事比较低的。是一种用空间换时间的算法设计思想。基本结构F(n)A[0]=A[1]<-1for i<-2 to n do 状态转移方程return A[n]基本思想动态规划就是用一种类似于表(通常用数组)记录子问题的解,以便保存和以后的检索以从最简单问题的解填起,以自底向上的方式填表。这就保证了,当我们求解一个子问题...

2020-03-31 21:05:06 2702 1

原创 数据库完整性(脑图)

2020-03-30 00:38:17 287

原创 关于int类型的返回值的一点小问题

经过惊天下午写作业时发现一个奇怪点,就是关于int型数据的返回值的一个问题。public class Test { public static void main(String[] args) { method1(1,2); }; public static void method1(int n, int m) { n += m; ...

2020-03-27 21:35:18 4004

原创 贪心算法.教室调度问题

教室调度问题假设有如下课程表,你希望将尽可能多的课程安排在某间教室上你没法让这些课都在这间教室上,因为有些课的上课时间有冲突。如何选出尽可能多且时间不冲突的课程呢?具体做法如下。(1) 选出结束最早的课,它就是要在这间教室上的第一堂课。(2) 接下来,必须选择第一堂课结束后才开始的课。同样,你选择结束最早的课,这将是要在这间教室上的第二堂课。(3)每当一节可结束就找到下一节课结束...

2020-03-26 18:51:24 3749

原创 生成随机字符

生成随机字符方法字符是用整数来编码的,随机产生一个字符就是随机产生一个整数。每个字符都有一个唯一的在十六进制数 0 到 FFFF (即十进制的65535)之间的 Unicode。生成一个随机字符就是使用下面的表达式,生成从 0 到 65535之间的一个随机整数.(int)(Math.random() * (65535 + 1))因为 0<=Math.random()&lt...

2020-03-26 15:35:00 1460

原创 分治法--处理数列问题

# 分治法–处理数列问题前言最近学了分治法,我发现分治法在求一组数列的某些数据时有着很简洁的技巧。分治算法基本思想–“分”、“治”、“合”分治算法–二分法金块问题老板有一袋金块(共n块),最优秀的雇员得到其中最重的一块,最差的雇员得到其中最轻的一块。假设有一台比较重量的仪器,我们希望用最少的比较次数找出最重的金块。算法设计:问题可简化为:在含n个元素的集合中寻找最大值和最小值。用分治...

2020-03-25 15:23:41 812

原创 数据库安全保护机制(脑图)

2020-03-22 14:23:46 438

原创 快速排序

前言快速排序在处理大量数据的排序时,效率是很高的。体现分治法中“合”的部分[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xCfmRqQU-1584517187321)(在这里插入图片描述)]](https://img-blog.csdnimg.cn/20200318153938309.png?x-oss-process=image/watermark,type...

2020-03-18 15:40:39 83

原创 归并排序

前言归并排序–{7,2,9,4,3,8,6,1}。分治法实现:分治法(分治合)sort(A,p,r) //A为排列数组if p<r then q<— (p + r)/2sort(A,p,q)sort(A,q + 1,r)merge(A,p,q,r)Java语言编写import java.util.Arrays;public class MergeSort {...

2020-03-18 11:11:44 85

原创 IntelliJ IDEA中通过JDBC连接MySQL

IntelliJ IDEA中通过JDBC连接MySQL前言在Java项目中很多时候要连接数据库,通过IDEA可以很好的做到这一点。连接数据库方法如下:在File中点击Project Structure点击Modules,点击+号,选择1找到安装MySQL时候的.jar文件。如果找不文件位置,可用everything查找位置。复制完整的安装路径在点击OK,Apply,OK....

2020-03-16 11:40:27 446

原创 不引入第三个值,交换两个常量的值

问题前几天在网上看到这么一个某公司的笔试题:如何不引入第三个值,交换两个常量的值?结果我的想法就是这样的#include<stdio.h>#include<math.h> # include <stdio.h> int main(void) { int x, y; scanf("%d%d", &...

2020-03-15 19:31:51 112

原创 震惊!我的表竟然无法插入相同的数据

前言今天在MySQL中写了一个更改数据的指令,结果发生了下图的错误。关键字“ project.classify”的条目“ TS”重复,报了 这个错的时候,又让我想起了前几天我向表中插入数据时也出现了如下的报错。经过这让我感到很迷惑,这些列又没有主键限制,为什么还会显示无法输入相同值。https://zhidao.baidu.com/question/194948259.html这两列...

2020-03-15 02:00:37 460

weather .rar

一个查询全国各地的天气情况的微信小程序。包括湿度,气压,能见度,风向,风速,风力信息。天气数据依靠和风免费的资源。可以随时更新天气信息。不需要绑定微信用户的个人信息。但是用户要自己选择自己的所在地。

2020-03-30

空空如也

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

TA关注的人

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