自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kevin的博客

何时上青天...【大智慧:业余时间可以弥补先天不足,好记性不如烂笔头】

  • 博客(96)
  • 资源 (9)
  • 论坛 (2)
  • 问答 (2)
  • 收藏
  • 关注

转载 转载:【LeetCode-链表】链表的中间节点

转载:【LeetCode-链表】链表的中间节点 【LeetCode-链表】链表的中间节点题目描述输入:[1,2,3,4,5,6]输出:此列表中的结点 4 (序列化形式:[4,5,6])由于该列表有两个中间结点,值分别为 3 和 4,我们返回第二个结点。题目链接: https://leetcode-cn.com/problems/middle-of-the-linked-list/思路1#使用快慢指针。s

2021-06-18 18:52:18 1

转载 转载:LeetCode - 删除链表的倒数第N个节点

转载:LeetCode - 删除链表的倒数第N个节点 题目 给定一个链表,删除链表的倒数第 n 个节点并返回头结点。 例如, 给定一个链表: 1->2->3->4->5, 并且 n = 2.当删除了倒数第二个节点后链表变成了 1->2->3

2021-06-18 17:51:08 5

转载 转载:合并有序链表

转载:合并有序链表【LeetCode021】合并有序链表合并有序链表(Merge Two Sorted Lists)将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路分析:我们拿到题目首先注意到的是,有序,并且这两个链表的长度是不定的,所以有可能出现的情况是:一个链表为空,另外一个链表是4个长度。 这些细节我们在分析问题的时

2021-06-18 16:10:12 2

转载 转载:链表中环的检测

转载:链表中环的检测题目描述:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。示例 3:输入:head = [

2021-06-17 20:12:21 1

转载 转载:看一遍就理解,图解单链表反转

转载:看一遍就理解,图解单链表反转看一遍就理解,图解单链表反转前言反转链表是程序员必备的基本素养,经常在面试、笔试的过程中出现。一直觉得反转链表实现代码不是很好理解,决定搬leetcode那道经典反转链表题出来,用十多张图去解析它,希望加深大家对链表反转的理解,谢谢阅读。leetcode的反转链表原题&答案题目描述:反转一个单链表。输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL分析:假设存在

2021-06-16 17:02:28 3

转载 转载:二叉搜索树(+新增理解笔记)

转载:数据结构与算法——平衡二叉树理解笔记:1二叉搜索树又称二叉查找树,亦称为二叉排序树就是二叉树经过排序的,排序规则是左子树上所有节点的值均小于它的根节点的值,右子树上所有节点的值均大于它的根节点的值2遍历:递归实现[(1)如果树是空的,则查找结束,无匹配。(2)如果被查找的值和节点的值相等,查找成功。(3)如果被查找的值小于节点的值,递归查找左子树,(4)如果被查找的值大于节点的值,递归查找右子树,]3插入:递归实现 --注意递归时找到的条件是插入的节点是空的说明找到了[(

2021-06-01 19:31:17 27

原创 【数据结构与算法】二叉树+二叉搜索树+平衡二叉树+红黑树--效率比较

分析方法:[二叉树用到递归,与二叉树高度有关,有多高,就有多少次递归,时间复杂度就是"O(树高)"二叉树的高度与节点关系:假设节点为N,则树的高度保持在logN附近;所以二叉树的查找效率一般是O(logN)]1二叉树 --任意的2二叉搜索树: --是二叉树经过排序的,任意一个节点都满足左节点值小于等于父节点,右节点值大于等于父节点[又称二叉查找树,亦称为二叉排序树查找性能:[数目为N,树高保持logN附近,查找递归需要logN次,时间复杂度为O(logN)当先...

2021-05-28 17:17:01 5

原创 【数据结构与算法】二叉树+二叉搜索树+平衡二叉树+红黑树--区别(个人总结)

https://xiaozhuanlan.com/topic/50364718921二叉树 --任意的2二叉搜索树: --是二叉树经过排序的,任意一个节点都满足左节点值小于等于父节点,右节点值大于等于父节点[又称二叉查找树,亦称为二叉排序树]普通二叉树的增删改查:增加 --直接加入删除 --分为删除的节点无左右节点,有左节点,有右节点,有左右节点 --无左右节点,直接删除,后面的补上 --有左节点,删除后,把左节点补上 -...

2021-05-28 17:15:56 5

转载 转载:深入学习二叉树(一) 二叉树基础(+新增理解笔记)

转载:深入学习二叉树(一) 二叉树基础前言树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树。希望各位读者能够关注专题,并给出相应意见,通过系列的学习做到心中有“树”。1 重点概念1.1 结点概念结点是数据结构中的基础,是构成复杂数据结构的基本组成单位。1

2021-05-27 19:49:49 79

转载 转载:什么是平衡二叉树(AVL)(+新增理解笔记)

转载:什么是平衡二叉树什么是平衡二叉树(AVL) Wiki:在计算机科学中,AVL树是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是{\displaystyle O(\log {n})}。增加和删除元素的操作则可能需要借由一次或多次树旋转,以实现树的重新平衡。AVL 树得名于它的发明者 G. M. Adelson-Velsky 和 Evgenii Landis,他们在1962年的论文《An a

2021-05-27 13:52:28 8

原创 【STL】vetor+list+map原理--简单笔记

vector原理:[动态数组,连续内存,用3个指针控制,一个指向开始,一个指向结束,一个指向已用的结尾首先分配固定内存,用于存放数据;当新加入数据超过内存大小时,vector会重新分配一块更大的内存,然后把之前的内容拷贝到新的vector种,然后把旧的删除,所以有时会出现迭代器失效,就是因为旧的删除了,解决办法是给迭代器重新赋值,即指向新的vector说明:vector扩容大小与编译器有关,不同编译器不一样,但肯定是变大的]list原理:[链表,内存是不连续的链表,包含[头+..

2021-05-26 16:36:58 7

转载 转载:30张图带你彻底理解红黑树(+新增理解笔记)

转载:30张图带你彻底理解红黑树写在前面当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。终于,在学习了几天的红黑树相关的知识后,我想把我所学所想和所感分享给大家。红黑树是一种比较难的数据结构,要完全搞懂非常耗时耗力,红黑树怎么自平衡?什么时候需要左旋或右旋?插入和删除破坏了树的平衡后怎么处理?等等一连串的问题在学习前困扰着我。如果你在学习过程中也会存在我的疑问,那么本文对你会有帮助,本文帮助你全面、彻底地理解红黑树!本文将通过图文的方式讲解红

2021-05-26 14:13:44 6

转载 转载:【C++】C++中的迭代器

转载:【C++】C++中的迭代器 【C++】C++中的迭代器 </h1> <div class="clear"></div> <div class="postBody"> <div id="cnblogs_post_description" style="display: none"&gt

2021-04-28 19:36:56 6

原创 【std::vector】 删除多个值总结

//注意问题:删除后,索引会前移,替代原来删除的位置,数组大小减小1 std::vector<int> vecData{1,2,3,4,5,6,7,8,9}; for (auto value : vecData) { std::cout << value << " "; } std::cout << std::endl; std::vector<int> vecDelData{ ...

2021-04-26 16:37:05 20

转载 转载:[10分钟速览 C++20 新增特性]

转载:10分钟速览 C++20 新增特性10分钟速览 C++20 新增特性新增标识符(Identifies)模块(Modules)优点创建模块引用模块import 头文件Ranges例子协程(Coroutines)什么是协程例子(VC++)Concepts如何定义使用例子Lambda 表达式的更新[=, this] 需要显式捕获this变量模板形式的 Lambda 表达式Lambda 表达式打包捕获(Pack Expansion)常量表达式(constexpr) 的更新constexpr string &

2021-04-12 16:46:50 42

转载 转载:C++17新特性

转载:C++17新特性今天向亲爱的读者们介绍下C++17的新特性,现在基本上各个编译器对C++17都已经提供完备的支持,建议大家编程中尝试使用下C++17,可以一定程度上简化代码编写,提高编程效率。主要新特性如下:构造函数模板推导结构化绑定if-switch语句初始化内联变量折叠表达式constexpr lambda表达式namespace嵌套__has_include预处理表达式在lambda表达式用*this捕获对象副本新增Attribute字符串转换std::variantstd::optional

2021-04-01 18:15:14 23

转载 转载:C++14新特性的所有知识点全在这儿啦!

转载:C++14新特性的所有知识点全在这儿啦!C++14新特性的所有知识点全在这儿啦! 函数返回值类型推导C++14对函数返回类型推导规则做了优化,先看一段代码:#include <iostream>using namespace std;auto func(int i) {return i;}int main() {cout << func(4) << endl;return 0;}使用C++11编译:~/test$ g++ test.cc

2021-03-23 10:59:13 12

转载 转载:求第k小的数、第k大的数、中位数的三种算法(nth_element()、快速选择算法、直接排序法)

转载:https://blog.csdn.net/qq_41708792/article/details/103130479?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-14.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-14.control

2021-03-22 13:59:48 29

原创 【数据结构与算法】笔记--快速选择算法

快速选择算法:【#include <iostream>#include "windows.h"#include <vector>#include <algorithm>void Swap(vector <int>& arr, int i, int j){ int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp;}int Partition(vector <i...

2021-03-22 11:23:29 9

转载 转载:算法的时间与空间复杂度(一看就懂)

转载:https://zhuanlan.zhihu.com/p/50479555算法的时间与空间复杂度(一看就懂)算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们

2021-03-19 13:48:16 11

转载 转载:c++11/14之std::shared_ptr作为引用参数,普通参数

转载:https://blog.csdn.net/janeqi1987/article/details/102820048 1. c++中使用std::shared_ptr类型做为构造函数参数,并使用std::move()初始化成员变量。 使用std::shared_ptr类型作为形参,shared_ptr会被复制,使用std::move()之后,形参对象就没有内容了。 #include <iostrea

2021-03-13 15:45:16 29

转载 转载:CString工作原理和常见问题分析

转载:https://blog.csdn.net/nickwu1220/article/details/6938202 关于Cstring 类 版权所有&copy; Stevencao@benq.com 2003-11-6 看了很多人写的程序,包括我自己写的一些代码,发现很大的一部分bug是关于MFC类中的CString的错误用法的.出现这种错误的原因主要是对CString的实现机制不是太了解。 CString是对于原来标准c中字符串类型的一种的包装。因为,通过很长时间的编程,我们

2021-03-09 16:41:26 17

原创 【c++11】sort排序

sort是qsort的升级版,如果能用sort尽量用sort,都是快速排序头文件:#include <algorithm>std::sort(vecData.begin(), vecData.end(), [](tag_Chart t1, tag_Chart t2) {return t1.date < t2.date; });---------------例子:#include <vector>#include <algorithm>s.

2021-03-01 17:11:51 69

原创 【c++11】std::bind使用

1.绑定全局函数[#include <iostream>#include <functional>typedef std::function<void(int, int)> callback;void fun(int n1, int n2){ OutputDebugString(L"fun");}使用:std::function<void(int, int)> ss1 = std::bind(fun, std::placeho...

2021-03-01 16:54:00 18

原创 【c++11】std::funciton使用

使用方法:就是当作函数指针或回调函数使用,起到统一标准的作用,可接收参数包括:std::function可接收"全局函数、static成员函数、成员函数、lamda表达式"std::function作全局变量std::function作成员变量1.接收函数【(1)接收全局函数[#include <functional>typedef std::function<void(int, int)> callback;void fun(int n1, int n.

2021-03-01 16:53:19 46

转载 转载:Windows扩展屏开发总结

Windows扩展屏开发总结一、多屏设置在设置-系统-可以点击显示器1和2,可以进行单独设置;“使之成为我的主显示器”可以设置当前显示器是主屏;主屏的选择会决定整个虚拟屏幕坐标起点的位置。多显示器可以设置扩展,复制和独立展示。(独立显示是只在显示屏1 或者2上显示)扩展  - 设计,办公等场景。对于应用的意义则在于我们可以在两个或多个显示器上,分别打开不同的窗口,比如在一个显示器上显示网页,另一个显...

2021-03-01 16:18:58 17

转载 转载:获取屏幕的分辨率(多屏幕或者单屏幕)

我们在做项目的时候,往往会有想要获取屏幕的分辨率的需求。现在我们就来总结一下如何获取屏幕分辨率,不管是单屏还是多屏。  1、RECT deskRect;    GetWindowRect(GetDesktopWindow(),&deskRect);    该函数只能获取主屏的分辨率,也就是说如果有多个显示器的话,这个函数只能获取主屏分辨率。&nbsp...

2021-03-01 15:24:25 22

转载 【GDI+】GDI+学习及代码总结之------画刷Brush

画刷Brush GDI+中定义了五种画刷类型,他们都派生于Brush类,他们分别是: 注意:画刷与画笔不同,画刷只是用来填充区域,所以,画刷无宽度、长度可言。 单色画刷SolidBrush 一、构造函数 [cpp]  view plain copy So...

2020-12-22 16:43:29 48

原创 QT实战-常见功能实现-精进篇

Qt版本:5.9.1-----0.如何设置所有按钮全局统一样式,如soui那样的?如取消所有按钮默认样式[//全局设置,取消按钮默认样式 this->setStyleSheet("QPushButton \ {\ border: none;\ background-color: transparent;\ ...

2020-12-20 19:17:25 274

原创 CWnd或CDialog-Create或CreateEx详解(包含窗口类型怎么填+动态创建窗口和控件例子)

前言:静态创建窗口比较简单,都是资源文件,拖动控件,或支持xml配置的那么如何动态创建窗口和控件呢?【本质:都是利用CreateWindowEx,CreateWindow下面几点知道就差不多了:[1.CreateWindowEx动态创建窗口CreateWindow动态创建控件2.注册窗口类使用方法3.窗口类型填什么(窗口和子窗口)4.动态创建的窗口或控件响应5.动态创建的窗口是非阻塞的,所以外边需要加消息循环]】1动态创建窗口: --CreateWindowE..

2020-12-19 17:37:00 196 1

原创 【MFC/win32实战】 继承CWnd实现的一个tip显示问题收集

继承CWnd实现的一个tip显示后在按下alt+tab后跑到前面不消失了怎么办?一般是因为创建窗口是WS_EX_TOPMOST导致的,解决办法是换成WS_EX_TOOLWINDOW--------------[看创建窗口时填入的窗口的风格bool CWndInfo::CreateInfoWindow(HWND hWnd){ m_hWndParent = hWnd; CString strWndClass = AfxRegisterWndClass(CS_VREDRAW | ...

2020-12-19 17:33:57 44 2

原创 MFC SetWindowLong支持功能

原型:WINUSERAPILONGWINAPISetWindowLongA( _In_ HWND hWnd, _In_ int nIndex, _In_ LONG dwNewLong);WINUSERAPILONGWINAPISetWindowLongW( _In_ HWND hWnd, _In_ int nIndex, _In_ LONG dwNewLong);#ifdef UNICODE#define SetWindowLong S...

2020-12-19 17:31:58 54 2

原创 CWnd与CDialog-自绘控件时继承哪个

1.CDialog,CStatic,CButton都是继承于CWnd,所以自绘控件 --要么继承于已有的控件,要么继承于Cwnd完全自绘,不要继承于CDialog自绘自己的窗口 --继承于Cwnd完全自绘,,不要继承于CDialog----2.如果想设计一个自己的CDialog对话框样式怎么办?最佳方式:资源创建一个对话框,然后利用类向导自动创建类,然后在OnPaint中改就好了不用追求不用资源纯代码创建CDialog的,太麻烦,还容易出问题,不便于维护...

2020-12-19 17:29:43 24 1

原创 CWnd与CDialog-使用成员对象和成员指针创建窗口区别

CWnd与CDialog-使用成员对象和成员指针创建窗口区别?1.成员对象与构造函数有关,不支持时就无法使用成员对象,如class cdlg1111 : public CDialog{public:cdlg1111(CWnd* pParent );}cdlg1111 m_dlg;//就会报错,因为会调用构造函数成员指针就不会,指针只在new的时候调用构造函数cdlg1111 *m_pdlg;//就会报错m_pdlg = new cdlg1111(this);//调用构造2.触发函.

2020-12-19 17:29:07 38 1

原创 CWnd与CDialog-区别

1.创建方式CWnd --通用窗口,使用方式,new出来,创建,显示[CString strWndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, AfxGetApp()->LoadStandardCursor(IDC_ARROW), (HBRUSH)(COLOR_3DFACE + 1));CMydlg *m_pDlg = new CMydlg();m_pDlg.Create(strWndClass, NULL, WS_POPU..

2020-12-19 17:27:57 121 1

原创 CWnd与CDialog-MFC窗口与SOUI、Duilib窗口

1.MFCCWnd窗口是所有窗口基类,CDialog与其他所有控件,都是继承于CWnd,然后绘制出来的所以MFC所有窗口都是真窗口具体布局就是:主窗口是真窗口,然后里面各个控件都是真窗口,主窗口创建好后,子控件在onsize里调整好位置就行了鼠标移到主窗口的控件上时,按下、移动等消息都会被控件接收,主窗口就响应不到了----------2.SOUI、DUIlib只有主窗口和对话框窗口是真窗口,里面的所有控件都是绘制上去的,不是真窗口所以到主窗口的这些控件上时,按下、移动等各种.

2020-12-19 17:27:23 59 1

原创 CWnd与CDialog-DoModal与ShowWindow区别

1.使用Domodal()时:(1)Domodal()会阻塞调用函数,所以使用局部变量和成员变量都可以;(2)Domodal()前不能调用Create,否则崩溃,不知道为啥使用ShowWindow时:(1)只能使用成员变量方式ShowWindow不会阻塞调用函数,调用完就结束了,局部变量,调用完直接销毁了,窗口就闪一下就没了,局部指针,调用完函数返回了,内存没有手动释放;(2)ShowWindow前必须调用Create保证窗口已经创建了----------------例子:[CD.

2020-12-19 17:26:47 160 1

原创 CWnd或CDialog-如何写一个与可以使用同样方式创建的窗口

1.如何写一个与CWnd用同样方式创建的窗口?class CMyWnd : public CWnd{}----2.如何写一个与CDialog用同样方式创建的窗口?最佳方式:资源添加个窗口,然后利用类向导自动生成类,然后根据需要在上面改就好了(不用追求纯代码动态创建的,太麻烦了,容易出问题)【例子1: --有资源文件,自动生成的类[头文件:class cdlg1111 : public CDialog{ DECLARE_DYNAMIC(cdlg1111)publ...

2020-12-19 17:25:54 27 1

转载 【C++实例总结】负数取模运算

转载:https://www.cnblogs.com/widerg/p/7208041.htmlhttps://blog.csdn.net/u013094181/article/details/218634911.取模运算(1)全都是正数,全都是负数情况7%2=1,(-7)%(-2)=-1没有争论,比较好理解(2)一正一负情况如a%b,第一种情况...

2020-03-02 12:01:14 1419

原创 【c++11】基本类型与字符串转换

1.基础类型转为字符串api:std::to_string Defined in header<string> std::stringto_string(intvalue); (1) (since C++11) std::stringto_string(longvalue); ...

2020-01-09 19:05:50 190

获取windows当前登录的用户名

获取windows当前登录的用户名

2018-03-15

MFC 动态创建窗口与对话框

基于VS2017,使用MFC,使用CreateWindow,CreateWindowEx动态创建窗口与对话框

2020-12-19

MFC 绘制半透明文字并保存为背景透明图片

使用vs2010开发工具,MFC开发,生成半透明文字,并保存为背景透明图片

2018-05-23

QT实战-常见功能实现-精进篇

qt入门,各种控件界面

2020-12-20

MFC 检测笔记本电池电量

基于VS2010,使用MFC,定时检测笔记本电池电量,低电量时提醒

2018-06-26

MFC 检查ppt是否正在播放

vs2010开发,使用MFC用于检测ppt是否正在播放,支持微软powerpoint以及wps的ppt播放

2018-04-24

MFC 实现自绘右键菜单

vs2010开发 点击托盘图标弹窗 菜单项支持选择与取消选择

2018-05-23

【IE编程】给指定进程设置使用的内嵌IE的版本

win32/c++, 使用vs2015开发,给使用内嵌IE的进程设置IE版本为最新版本,通过此设置,保证使用的IE是最新的,有利于兼容性问题的解决

2020-01-07

MFC 实现轮流写2个文件

使用vs2010,用mfc实现轮流写2个文件,每个超过500k会清空并写另一个文件,支持下次启动时从上个文件写

2018-04-24

csdn文章管理原版比新版好多了

发表于 2018-05-12 最后回复 2018-05-12

csdn博客写文章后建议增加文章预览功能

发表于 2016-12-21 最后回复 2018-05-12

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

TA关注的人 TA的粉丝

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