自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++事件聚合器

事件聚合器(Event Aggregator)允许不同的组件订阅和发布事件,而不需要知道事件的发布者和订阅者是谁,实现模块在不直接相互引用的情况下通信,实现模块间的松耦合。事件聚合器常用语C#语言中,以下为C++语言的简单实现。C++事件聚合器的实现。

2024-04-06 21:24:19 252

原创 CPP异步队列

【代码】CPP异步队列。

2023-08-25 20:42:08 80

转载 x^n的算法—python

参考链接@小泡芙吖三种方法的原理都是一样的对于n,先将其换成二进制形式,在这里举个例子,假设n=11,其二进制形式是1011从左边数的第二位开始,若等于0,则对x进行平方,若为1,则先对当前结果进行平方,再乘上x。方法一:# 11 -> 1011# x^11=(((x)^2)^2*x)^2*2def do(x, n): b = [] res = 1 while n > 0: b.append(n % 2) n //=

2020-09-28 21:27:22 3312

原创 K近邻算法的KD树实现

#K近邻算法的KD树实现#lichunyu-2020.6.3import pandas as pdimport numpy as npimport mathimport matplotlib.pyplot as pltclass Node: def __init__(self): self.left = None self.right = None self.value = [] #vectorclass Neighbour:

2020-06-03 20:54:34 282

原创 QT绘制动态蚂蚁线

#ifndef WIDGET_H#define WIDGET_H#include #include #include #include class Widget : public QWidget{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();protected:void paintEvent(QPaintEvent *event) override;void timerEvent(QTimerEvent *e

2020-05-27 09:11:06 862

原创 Qt实现带动画的循环滚动的效果

Qt实现带动画的循环滚动的效果scrollview.h#ifndef SCROLLVIEW_H#define SCROLLVIEW_H#include <QWidget>#include <QPropertyAnimation>#include <QParallelAnimationGroup>class ScrollView : publi...

2020-03-19 15:36:47 3486

原创 台阶储水问题

Question:Analysis:Solution:#include <iostream>int main(int argc, char **argv){ int stages[] = {3, 0, 1, 2, 1, 0, 2, 3, 0, 2, 0, 2}; int sum = 0; for (int i = 0; i < 12 - ...

2020-01-19 08:38:33 202

原创 递归实现旋转矩阵

递归实现旋转矩阵#include <stdio.h> #define N 5 //矩阵的阶数void fun(int n, int first, int a[N][N]){ int i; if(n > N / 2 + 1) { return; } //每层递归赋值“一圈”...

2019-12-05 20:52:11 435

原创 通过指针访问二维数组的三种方式

通过指针访问二维数组的三种方式/**通过指针访问二维数组的三种方式*2019-11-29*/#include <stdio.h>int main(int argc, char *argv[]){ int a[4][4]; int i, j; int *pInt; //普通指针 int (*pIntPtr)[4]; //数组...

2019-11-29 20:38:51 3116

原创 C链表模拟汉诺塔

C++链表实现汉诺塔/**链表实现汉诺塔——2019.11.26*/#include <stdio.h> #include <stdlib.h>typedef struct node{ int data; struct node *next;}Node;/**data存储盘子大小*/void output(Node *list)...

2019-11-27 21:16:26 171

原创 C++运算符重载—复数

C++运算符重载案例:复数Complex.h#pragma once#include <iostream>class Complex{ friend std::ostream& operator<<(std::ostream &out, const Complex &c);public: Complex(int real, int...

2019-05-31 18:16:04 269

原创 Qt颜色下拉框菜单

Qt颜色下拉框菜单头文件:#ifndef COLOR_MENU#define COLOR_MENU#include &amp;lt;QObject&amp;gt;#include &amp;lt;QMenu&amp;gt;#include &amp;lt;QAction&amp;gt;#include &amp;lt;QGridLayout&amp;gt;#include &amp;lt;QMenu&amp

2018-08-07 14:50:27 2222

原创 Qt画圆角矩形

Qt画圆角矩形void TestPainter::paintEvent(QPaintEvent *event){ QPainter painter(this); const qreal radius = 20; QRectF rect = QRect(200, 200, 400, 80); QPainterPath path; path.move...

2018-08-02 16:22:42 5060 4

原创 C++获取剪贴板文件路径

C++与资源管理器交互,获取剪贴板复制的文件路径#include &lt;oleidl.h&gt;#include &lt;comdef.h&gt;#include &lt;vector&gt;#include &lt;string&gt;std::vector&lt;std::string&gt; GetPaths(){ std::vector&lt;std::strin...

2018-07-24 17:10:33 1939 1

原创 命名空间

命名空间将全局空间进行切割,可以嵌套使用定义一个命名空间namespace name1{ int a; int add(int a, int b) { return a + b; }}命名空间的使用:指明所属命名空间通过域解析符指明name1::a全局的命名空间 ::a使用usingusing na...

2018-03-06 20:21:29 130

原创 2.25——进程

1. 进程的概念进程是LInux事务管理的基本单元,所有的进程均有自己独立的处理环境和系统资源。进程的环境由单钱系统状态及其父进程信息决定和组成。系统的第一个进程init有内核产生,以后所有的进程都是通过fork()/vfork()创建。系统在内核头文件中定义了进程控制PCB结构体struct tack_struct来管理每个进程的资源。进程是资源分配的最小单元2. 进程和程序的区...

2018-02-26 21:05:47 126

原创 2.07——队列

2.07——队列1. 什么是队列​ 队列(queue)是只允许在一端进行插入操作,而在另一端进行数据操作的线性表。​ 队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端成为队尾,允许删除的一端成为队头。假设队列是q=(a1, a2, a3, …, an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时,再试从a1开

2018-02-07 15:41:20 177

原创 2.05——栈

2.05——栈1. 栈的定义栈(stack)是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端成为栈顶(top),另一端为栈底(bottom),不喊任何数据元素的栈成为空栈。栈又成为后进先出(Last In First Out)的线性表,简称LIFO结构。首先它是一个线性表,也就是,栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的线性表而已。定义中硕士

2018-02-07 15:40:58 193

原创 2.3——链表

数据结构——链表链表的存储结构单链表中,我们在C语言可用结构指针来描述。/*线性表的单链表存储结构*/typedef struct node{ DataType data; struct node *next;}Node;链表的初始化首先定一个链表头指针Node *list;初始化函数,创建一个头结点,并把头指针指向头结点,头结点的

2018-02-03 16:47:28 162

原创 2.1——线性表

数据结构——线性表1. 顺序表的数学定义若将线性表记为(a1, …, ai+1, ai, ai+1, …, an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前去元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=1,2,3,…,n时,ai有且仅有一个直接前驱。2. 线性表的顺序存储结构线性表的顺序存

2018-02-01 20:29:41 175

原创 1.30——内存管理、预处理、结构体

1. 内存分配的方式内存分配有三种方式:从静态存储区。内存在程序编译时就已经房分配好,这块内存在程序的整个执行期间都存在,如全局变量、static变量等。在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动释放。栈内存分配运算使用内置于处理器的指令集,效率很高,但分配的内存容量有限。从堆上分配 ,亦称动态内存分配。程序在运行时用mall

2018-01-30 20:56:21 139

原创 1.28——指针

1.野指针可能带来哪些后果?野指针,即指向一个错误位置的指针,如果你的程序中有野指针,你的数据就危险了。存放在堆中的数据可能会被破坏,用来处理堆的数据结构也可能被破坏,甚至操作系统的数据也可能被修改,甚至有时上述三种破坏情况同时发生。此后可能发生的事情取决与这样两点:第一,内存中的数据被破坏的程度有多大;第二,内存中的被破坏的部分还要被使用多少次。在有些情况下,一些函数将立即无法正常工作;

2018-01-28 20:20:44 195

原创 1.26——C语言数组、函数

一、数组1.数组越界下标可能导致哪些后果?程序仍能正常运行程序会异常终止或崩溃程序能正常运行,但无法得到正确的结果其他情况2.传递数组有哪些方式?将数组作为参数传递给函数和将指向数组中第一个元素的指针传递给函数是完全等价的。将数组作为参数传递给函数时可以采用值传递和地址传递两种方式,前者需要完整地复制初始数组,但比较安全;后者的速度要快

2018-01-26 20:39:02 408

原创 1.24——数据结构,运算符与表达式

第2章 数据类型1.数据类型包含哪两个方面? 数据类型包含数据的表示和对数据的加工的操作。数据的全部可能表示构成数据了类型的值的集合,数据全部合理的操作构成数据类型的操作集合。2.变量是什么,和常量比有什么区别? 其值在其作用域内可以改变的量称为变量。其值不会发生改变的量称为常量。“常量”在程序运行时,不会被修改的量。换言之,常量虽然是为了硬件、软件、编程语言服务,但是

2018-01-24 20:26:29 1546

原创 Linux命令

一、文件处理命令1.mkdir作用:mkdir命令的作用是建立名称为dirname的子目录,使用权限是所有用户。格式:mkdir [options] 目录名[options]主要参数: -m,mode模式:设定文件夹权限,与chmod类似。 -p,parents:创建多级目录时,如果上级目录不存在,则自动创建;如果目录一存在,不当作错

2018-01-24 17:52:24 484

qt语言家提取版(中文)

Qt Linguist 是 Qt 应用程序的本地化工具。支持的格式包括 ts、qm、 po、xlf (XLIFF),中文版提取,自动文件关联

2018-07-27

基于Qt的markdown图床小工具

Windows平台,基于Qt开发的markdown图床小工具MPic,配合typora使用体验更佳。 支持截图双击上传,双击打开图片上传,拖拽上传。上传成功后markdown图片格式的链接已经保存在剪贴板中,直接粘贴即可。

2018-02-19

空空如也

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

TA关注的人

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