自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【操作系统】多线程与多进程的区别

多进程之间不共享数据,程序上下文分开。多线程之间共享数据,在数据处理上需要谨慎。程序:是一组指令的集合,是计算机硬盘上的一些文件进程:一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。**线程:**进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。与进程不同的是多线程共享进程的堆和方法区资源,但是每个线程都有自己的程序

2020-06-15 23:16:43 537

原创 【Windows程序设计】获取TreeView类根节点(SendMessage)

在MFC中获取Windows标准窗口句柄可以通过Findwindow 函数获取;在程序中可以通过Findwindow系列函数获取到TreeView类窗口的句柄,但TreeView包含的控件想要对其进行操作,就得获取其节点信息那么下面谈谈TreeView类TreeView类对象就相当于创建一个放置节点的容器控件的整体叫做TreeView类mainTree.Nodes则表示一个TreeNodeCollection类,其中mainTree为一个TreeView控件名mainTree的几个常用方法:1.添

2020-05-31 14:57:32 1457

原创 【数据结构】二叉树

二叉树的概念及结构概念:1.空树2.根节点+根节点的左子树+根节点的右子树(根节点的左右子树也是二叉树)特点:1.每个节点最多有两棵树2.左右子树不能颠倒(有序)结构:...

2020-04-14 16:26:24 386

原创 【动态规划】最大连续子数组和

最大连续子数组和首先定义两个变量maxsum,sum(寻找比maxsum大的连续和) ,遍历数组,max保存i之前的连续最大和,sum记录前面的连续和加上array[i]的大小(当然若sum<0 sum就没有了记录i前连续和的意义,因为sum+array[i]会使后面连续和减小)所以sum 继续从i开始记录连续和。sum >0?sum+=array[i]:sum=array[i]...

2020-03-27 23:36:00 411

原创 【数据结构】堆的基本操作and堆排序

概念堆是什么?堆是一种特殊的完全二叉树,所以堆的底层通过数组实现小堆:所有父节点的值小于其子节点的值。大堆:所有父节点的值大于其子节点的值。![在这里插入图片描述](https://img-**堆的基本操作解析**建堆1.先申请一块空间,然后对其赋值,逻辑上看为完全二叉树,然后对二叉树结构进行调整。(从对的倒数第一个非叶子节点向下调整,一直调整到堆的根节点,就可以调整成堆了)...

2020-03-27 22:58:14 262

原创 【计算机网络】UDP /TCP协议&三次握手四次挥手

UDP 协议UDP的特点传输层协议无连接:知道对端的IP地址和端口号就直接进行传输,不需要建立连接;不可靠传输:没有确认机制,没有重传机制,如果因为网络故障该段无法发送到对方,UDP协议层不会给应用层返回任何消息提示面向数据报不能灵活控制读写数据的次数和数量面向数据报应用层交给UDP多长报文,UDP原样发送,既不拆分,也不合并例如用UDP发送100字节数据:如果发送端调用一次se...

2020-03-22 16:52:21 657

原创 【数据结构】链表与顺序表的比较

线性表线性表是n个具有相同特性的数据元素的有限序列。常见的线性表有:顺序表,链表,栈,队列,字符串…线性表在逻辑上是线性结构,也就是说是连续的一条直线,但在物理结构上不一定是连续的,线性表在物理存储时,通常以数组和链式结构的方式存储。顺序表顺序表是用一段物理地址连续的存储单元一次存储数据的线性结构,一般情况下采用数组存储,在数组上完成增删查改。顺序表分为:1.静态顺序表:使用定长数组...

2020-03-11 21:56:55 423

原创 【C++】深拷贝.浅拷贝.写实拷贝及string类的实现

浅拷贝:浅拷贝也称称位拷贝,编译器只对对象中的值进行拷贝。如果对象中管理资源,最后就会导致多个对象公用同一份资源,当一个对象销毁时就会将资源释放,而此时其他资源不知道该资源已经被释放,以为还有效,所以继续对资源进行访问操作时就会发生访问错误。深拷贝:如果类中涉及到资源管理,其拷贝构造函数.赋值运算符重载及析构函数必须显示给出,一般情况下都是按照深拷贝方式提供。区别:浅拷贝只是对指向空间...

2020-03-11 09:51:55 297

原创 【c++】 分解因式 牛客网

题目描述:输入一个正整数,将其分解质因数,对应每组数据以:"a = a1 * a2 * a3 …"的形式输出因式分解后的结果。例如:解题思路:代码实现在这里插入代码片...

2020-03-02 19:35:02 2774 1

原创 【链表】leetcode.2两数相加 C++

题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。解题思路:逆序所以表头是低位,表尾是高位,可以直接模拟加法运算,定义一个变量表示进位数flag,链表L1 L2从表头开始相加...

2020-02-27 13:01:37 326

原创 【C++】leetcode287.寻找重复数

题目描述给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数要求:方法一:位置交换法//解题思路假设数组为nums[]={1,2,3,4,5,6,7,3},可以以0下标的元素和0下标元素为下标的元素比较,不同就交换,不断循环,在数组中有两个或者以上的3;第一次和3比较不同...

2020-02-25 22:41:24 421

原创 【C++】把字符串转换成整数

题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0class Solution {public:int StrToInt(string s){long long a = 0;int f = 0;if (s.empty()){return a;}f = 1;}else if (s[0] == ‘-’){...

2020-02-25 17:59:29 2664

原创 什么是单例模式

单例模式:1.保证类在内存中只能创建一个对象单例模式分为:1.饿汉模式:程序启动时就创建唯一对象2.懒汉模式:用的时候才创建对象相关经验:饿汉模式(不会出想问题)懒汉模式(可能会出现问题) (1)延迟加载 (2)线程安全问题(3)是多线程环境(4)是有共享数据(5)有多条语句操作共享数据...

2020-02-15 13:39:50 378 1

原创 【c++】动态内存管理方式

C标准库中函数 malloc realloc calloc free 这四个函数,在C++中使用malloc realloc calloc函数开辟类类型空间不会调用构造函数,free不调用析构函数malloc :函数原型 void * malloc(unsigned int size);其作用是在内存上开辟一个长度为size的连续空间,参数为需要开辟的空间大小,成功返回值为开辟空间的起始地址...

2019-11-25 20:56:06 304

原创 【C/C++】数组及数组简单运用

数组可以说是一种最简单的数据结构,它占据一块连续的内存并按顺序存储数据。数组的创建首先需要设置数组的容量大小,然后根据大小 分配内存。由于数组的内存是连续的可以用数组实现简单的哈希表,数组的下标为哈希表的键值(Key),下标对应的数据为哈希表的值(Value)第一个只出现一次的字符int main(){char arr[] ="abcdbcd"; char key;int i=0;...

2019-10-23 22:13:17 498

原创 【Linux】虚拟机后台强制关机后重新打开异常如何恢复

在使用虚拟机的时候有时候卡死了就从后台管理器下强制关掉虚拟机,然后再次打开的时候发西安无法开启第一次遇到这种情况就无脑式的重装虚拟机,随着堆虚拟机的使用,虚拟机里面有很多代码文件类的,重装显然不可取,在网上查阅资料总结如下方法解决首先,虚拟机开启会形成.lck文件的锁,一般正常关机会自动删除该锁,强制关机.lck文件锁就会一直存在需要手动删除1.在虚拟机目录下搜索,lck文件全部删除...

2019-10-22 20:35:58 1595

原创 网络字节序与大小端

大端:高权值位存低地址,低权值位存高地址。小端:低权值位存低地址,高权值位存高地址。网络字节序:网络字节序是TCP/IP协议定义的一种数据表示格式,为大端模式PC大多采用小端模式,因此小端模式也称主机字节序主机字节序(小端模式)zh字节序转换:uint32_t htonl(uint32_t hostlong)主机字节序转网络字节序32uint16_t htons(uint316t ...

2019-10-04 22:47:25 389

原创 Linux 简易进度条实现及输出颜色控制

在Linux下换行和回车的区别在于\r让光标会到当前行的开始,\n让光标回到下一行的开始。进度条是在同一行输出,所以要用\r实现而进度条由0%~100%。缓存区:无缓存,行缓存,全缓存无缓存:指没有缓冲,直接将信息打印在显示器上,比如标准错误stderr行缓存:输入输出遇到换行的时候才执行。全缓存:输入输出的时候写满缓存区的时候执行I/O操作fflush:清除读写缓存区,需要立即把输入缓...

2019-10-01 21:59:41 376

原创 C++类的六个默认成员函数

类的6个默认成员函数包括:构造函数,析构函数,拷贝构造函数,赋值运算符重载函数,取地址操作符重载,const修饰的取地址操作符重载(一)构造函数构造函数为对象分配空间,初始化对象特点 :1.函数名与类名相同。2.无返回值。3.构造对象时系统自动调用,不需要调用4.可以重载。5.可以在类中定义也可以在类外定义。6.如果类无构造函数,编译器会自动生成一个缺省的构造函数,如果类中有构造...

2019-09-27 13:46:29 258

原创 【Linux】Linux常用指令

帮助命令类:man 帮助获取信息:基本语法 man [文件名或指令]例:查看ls命令的帮助信息help 指令:基本语法 help 命令 获取shell 内置命令的帮助信息例:查看cd 命令的帮助信息文件目录类:输出重定向>和追加>>输出重定向会把原信息覆盖基本语法ls -l>文件(列表中内容写入文件,覆盖写入)ls -l>>...

2019-09-26 01:39:21 279

原创 #C 如何判断机器大小端

大端:数据的低位存在内存的高地址,反之高位存入内存的低地址小端:数据的低位存在内存的高地址,反之高位存入内存的低地址## 方法一:强制转换法#include<stdio.h>int main(){ int a = 1; if(9((char)a == 1) { printf("小端:\n"); } else { printf("大端:\n"); } sy...

2019-07-25 14:41:08 502

原创 三子棋

首先介绍下游戏规则:这是一个玩家对战电脑的游戏,用二维数组生成九宫格棋盘,棋盘开始没有棋子,电脑走玩家走知道有一方胜利为止或者棋盘上落满子后游戏结束,而游戏胜利分两种情况1.行或者列三子连在一起,2.对角线三子连在一起。game.h#ifndef __GAME_H__#define __GAME_H__#include&lt;stdio.h&gt;#include&lt;stdlib...

2019-01-21 18:23:09 284

原创 用函数判断素数

void Is_prime(int i){ int j = 0; for (j = 2; j &lt;= i - 1; j++) { if (i%j == 0) break; } if (j &gt; i - 1) printf("%d是素数。\n", i); else printf("%d不是素数。\n", i);}int main(){ int i ...

2019-01-19 21:15:15 474

原创 递归求一个数各位数之和

求一个数各位上数字之和,可以先让他%10得到最后个位上的数,让后让它除以10;继续将结果%10得到十位上的数;如此循环直到除10后值为0时结束{ int n = 0; int sum = 0; scanf("%d", &amp;n); while (n) { sum = sum + n % 10; n = n / 10; } printf("%d", sum); sy...

2019-01-19 21:13:14 2779

原创 递归求一个数各位数之和

求一个数各位上数字之和,可以先让他%10得到最后个位上的数,让后让它除以10;继续将结果%10得到十位上的数;如此循环直到除10后值为0时结束{ int n = 0; int sum = 0; scanf("%d", &amp;n); while (n) { sum = sum + n % 10; n = n / 10; } printf("%d", sum); sy...

2019-01-18 23:37:21 4554

原创 交换两个数的值(函数实现)

void swap(int a, int b){ a = a^b; b = a^b; a = a^b;}int main(){ int a = 0; int b = 0; scanf("%d%d", &amp;a, &amp;b); swap(a, b); printf("a=%d b=%d", a, b); system("pause"); return 0;}...

2019-01-16 16:23:52 671 1

原创 打印1000~2000年之间的闰年

判断闰年的条件是(能被4整除且不能被100整除)或者(能被400整除)int main(){ int i = 0; int count = 0;//计数器 for (i = 1000; i &lt;= 2000; i++) { if (i % 4 == 0 &amp;&amp; i % 100 != 0 || i % 400 == 0) { printf("%d ", ...

2019-01-16 13:44:51 536

原创 打印100~200之间的素数

素数的特点是公约数只有1和它自身,也就是从2遍历比他小1的数和它进行求余运算结果都不为0, int main(){ int n=100; int i = 0; int count=0;//计数器 for(n=100;n&lt;=200;n++) { for(i=2;i&lt;=n-1;i++) { if(n%i==0) { break; } ...

2019-01-15 13:48:28 321

原创 输出乘法口诀表

斜体样式#include&lt;stdio,h&gt;int main(){int i = 0;int j = 0;//i表示行,j表示列,for(i=1;i&lt;=9;i++){for(j=1;j&lt;=i;j++)//随着行(i)增大,列(j)增大{printf("%d * %d = %2d",i,j,i*j);}printf("\n");}}...

2019-01-11 21:19:10 352 1

空空如也

空空如也

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

TA关注的人

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