自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (5)
  • 收藏
  • 关注

原创 kotlin语言 变量和函数

it:单个参数的隐式名称, 如果编译器⾃⼰可以识别出签名, 可以这样写。Kotlin 函数都是头等的,函数一种类型, 可以实例化函数对象。从 lambda 表达式中返回⼀个值, 下面两个调用等价。以下匿名函数等价, 匿名函数总是需要return。lambda不能指定函数返回的类型。已有函数的引用, 用双冒号加函数名。使⽤函数字⾯值的代码块。省略所有可以省略的后。

2023-03-27 22:00:31 335

原创 2379. 得到 K 个黑块的最少涂色次数

【代码】2379. 得到 K 个黑块的最少涂色次数。

2023-03-09 21:59:00 171

原创 flutter的plugin和package开发

package是一个可以共享的模块代码 , 最低要求是包含一个 pubspec.yaml 文件和lib/文件夹一个 package 可以包含依赖关系 (在 pubspec.yaml 文件里声明)、 Dart 库、应用、资源、测试、图片和例子等pub.dev 上列出了很多 package, 相当于远程仓库, 可以在上面搜索和过滤packageplugin, 全称是plugin package, 特指提供原生功能的package, 又称插件可以在Pub 上任一 package 页面的 Installing

2022-07-07 18:00:05 1079

原创 flutter中使用android原生视图

虚拟显示模式(Virtual displays)将 android.view.View 实例渲染为纹理,不会嵌入到 Activity 的视图层次结构中。键盘处理和辅助功能可能无法工作。混合集成模式(Hybrid composition)需要 Flutter 1.22(推荐 1.22.2)。将原生的 android.view.View 附加到视图层次结构中。键盘处理和无障碍功能是开箱即用的。Android 10 之前,这个模式会大大降低 Flutter UI 的帧率(FPS)。此widget继承S

2022-07-07 17:58:04 1057 3

原创 flutter_inappwebview插件源码解析

flutter_inappwebview插件源码解析只讲第一个InAppWebView 以及 js交互(InAppWebView后面简称为IAwebview)这里有官方提供的使用示例InAppWebView类实际上是将原生的android视图嵌入到flutter中即将原生的webview封装成widget.........

2022-07-07 10:19:27 2446

原创 android webview的使用

介绍了webview的基础用法和设置, 以及js和android端交互的方法

2022-07-06 16:28:10 1194

原创 Java ThreadLocal源码详解

Thread类的定义中有说明每个线程自己保存一个 ThreadLocal.ThreadLocalMap 类每次使用ThreadLocal的get()或set(), 都是用ThreadLocal作为key获取或存放map的valueThreadLocal可以避免在一个线程类中的方法中重复传递参数Set()ThreadLocal 的 set ()先获取当前线程获取线程的ThreadLocalMapmap为null 就 不为null就get()同样是去找当前thread的ThreadLocalMap,

2022-06-11 12:53:36 188

原创 android studio开启报错 faile to create jvm

android studio报错解决方法:删除下面文件夹中的内容C:\Users\kevin\AppData\Roaming\Google

2022-05-10 16:46:04 613

原创 qt使用v4l2 VIDIOC_REQBUFS 请求缓冲区时报错 errno=12 , Cannot allocate memorY

[ 29.878000] vmalloc: allocation failure: 3281670855 bytes[ 29.879000] test: page allocation failure: order:0, mode:0x80d2

2022-03-23 13:10:37 1084 1

原创 转速闭环控制直流调速系统的仿真 matlab

转速闭环控制直流调速系统的仿真 matlab本文基于 <<电力拖动自动控制系统----运动控制系统>> 阮毅第三章 3.4 节的仿真内容仿真文件链接链接:https://pan.baidu.com/s/19hl-IW3xEQZ0kLH0QNeQ6g提取码:xp6k本仿真主要由三个模块组成pwm模块, 包括控制和驱动模块电动机模块转速负反馈PI调节模块以下是仿真结果参考博客运动控制第二篇之闭环控制直流电机调速系统仿真...

2021-11-23 11:56:50 8940 12

原创 android 从深色模式切换到浅色模式报错 java.lang.IllegalArgumentException: Wrong state class, expecting View State

java.lang.IllegalArgumentException: Wrong state class, expecting View State but received class com.google.android.material.button.MaterialButton$SavedState instead.This usually happens when two views of different type have the same id in the same hiera

2021-11-23 11:25:43 2447

原创 win安装 mysql

添加系统环境变量: 系统变量 path 中添加mysql安装目录的bin文件夹路径如: C:\Program Files\MySQL\MySQL Server 8.0\binpowershell执行命令初始化mysql mysqld --initialized在mysql安装目录中的文件 data/本机名.err 查看自动生成的密码, 复制下来如 : C:\Program Files\MySQL\MySQL Server 8.0\data\DESKTOP-HIJSR68.err..

2021-11-11 11:12:04 369

原创 java 中集合以及数组的 for each 语法糖的实现原理

The Java® Language Specification对于实现了iterable的类, 编译器会将for each转换成iterator遍历, 代码如下//对于Iterable<T> iterable,代码for (T t : iterable) { <loop body>}//是语法糖,等价于下面的代码for (Iterator<T> iterator = iterable.iterator(); iterator.hasNext();

2021-09-19 11:13:22 181

原创 3-1-queue_队列_顺序存储

/* 队列 queue 顺序存储实现数组循环队列 (这里数组循环 front 指向的数组位置是空的, 下一位才是队首, 是为了区分队列是满还是空而这样处理) 创建空队列 判断是否队列为满 入队列 判断是否队列为空 出队列*/#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace

2021-04-12 20:51:23 119

原创 3-2-queue_队列_链式存储

/* 队列 queue 链式存储实现 创建空队列 判断是否队列为满 入队列 判断是否队列为空 出队列*/#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef int ElementType;typedef struct Queue *PointQueue

2021-04-12 20:51:00 120

原创 6-4-ShellSort希尔排序

/* * 希尔排序 插入排序的升级 * * 增量 m=n/2 * 从数组[0]开始选取间隔为 m 的数 组成新数组 * 进行插入排序 * 从数组[1]开始选取间隔为 m 的数 组成新数组 * 进行插入排序 * 直到数组[x]已经在之前被选取 * 增量 m=(n/2)/2 * 从数组[0]开始选取间隔为 m 的数 组成新数组 * 进行插入排序 * 从数组[1]开始选取间隔为 m 的数 组成新数组 *

2021-04-12 20:49:38 96

原创 6-3-InsertionSort插入排序

/* * 插入排序(递减) * * 将数组[0]作为最开始的牌堆 * 选择数组[1]向前比较 * 遇到小于的牌就交换 * 直到遇到大于的牌就停止代表加入了牌堆 * 选择数组[2]向前比较 * 遇到小于的牌就交换 * 直到遇到大于的牌就停止代表加入了牌堆 * 选择数组[3]... */#include <stdio.h>void printNums(int* nums, int size);void InsertSort(int nums[]

2021-04-12 20:45:57 174

原创 6-2-HeapSort堆排序

/* * 堆排序 选择排序的升级 * * --------算法一 : * 把原有数组变成一个最小堆数组 * 申请一个 n 空间的新数组 * 从最小堆数组中取最小的数依次放入新数组[0][1][2]... * 然后将新数组的值复制到原有数组 * --------需要额外 O(N) 空间, T(N)=O(NLogN) * * --------算法二 : * 将原有数组变成一个最大堆 * 将数组[0]既数组最大的数交换到堆的末尾 数组[n] * 然后将 0到n-1的数组变成一个最大

2021-04-12 20:45:11 116

原创 6-1-SelectionSort选择排序

/*选择排序从数组[0]开始在 1-n 中互相比较选择一个最小的数 数组[min]将 数组[min]与数组[0]交换从数组[1]开始在 2-n 中互相比较选择一个最小的数 数组[min]将 数组[min]与数组[1]交换从数组[2]开始 …/#include <stdio.h>void printNums(int nums, int size);void SelectionSort(int nums[], int size);// 递减排序void Selecti

2021-04-12 20:44:29 340

原创 栈的链式存储实现

/* 栈 stack 创建空栈 入栈 push 出栈 pop*/#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef int ElementType;typedef struct StackNode *PointStack;typedef struct StackNode *Poi

2021-04-05 01:34:38 136

原创 栈的顺序存储实现, 创建, 入栈, 出栈

/* 栈 stack 创建空栈 判断是否栈满 入栈 push 判断是否栈空 出栈 pop*/#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef int ElementType;typedef struct Stack *PointStack;ty

2021-04-05 01:34:26 440

原创 链表的创建, 插入, 删除与查找

/* 链表 link list 创建链表 插入 删除 查找*/#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef struct LNode *List;typedef struct LNode *NodePoint;typedef int ElementType;

2021-04-04 22:32:40 214

原创 线性表的数组实现

/* 线性表 List List MakeEmpty() // 初始化空线性表 ElementType FindKth( int K, List L) // 查找位序为 K 的元素并返回 int Find( ElementType X, List L ) // 查找 X 第一次出现顺序 void Insert( ElementType X, int i, List L) // 在位序 i 前插入一个新元素 X void

2021-04-04 22:31:57 203

原创 哈希表原理

散列表定义 :每个 key 对应一个 value每次获取 key, 带入散列函数 h(key) 运算得到下标数组的相应的下标位置放 value装填因子 = 表中元素 / 表大小散列函数的构造方法 :(虽然函数要求输入的是数字, 但是 key实际可以为字符串, 因为字符串可以用二进制表示)直接定址法h(key) = a * key + b (a, b 为常数)除留余数法h(key) = key mod p (p 一般去素数)数字分析法h(key) = atoi(key+n

2021-04-04 22:26:49 260

原创 基于分离链接法的哈希表实现

/* 哈希表 基本操作 : - 创建空的哈希表 - 查找 key 对应的 value - 插入键值对 ( 分离链接法)*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>// hashTable 地址空间存放的结构体typedef struct Node* pointerNode;// hashTa

2021-04-04 22:25:13 101

原创 基于平方探测法的哈希表实现

/* 哈希表 基本操作 : - 创建空的哈希表 - 查找 key 对应的 value - 插入键值对 (平方探测法)*/#include <stdio.h>#include <stdlib.h>// hashTable 地址空间存放的结构体struct Cell;// hashTable 结构体typedef struct HashTable* pointerHashTable;// 操作函数 --------

2021-04-04 22:24:37 569

原创 哈夫曼树的创建和最小堆的建立,插入与取出

/* * 哈夫曼树 * 带权路径长度最小的二叉树的形态 * 树的带权路径长度 : 所有结点的(路径长度✖️结点的权值)的和 * * 构建哈夫曼树 : * 从规模为 n 的最小堆中取两次最小值, 然后把权值加起来, 结果放入最小堆 * 再次取两次最小值 ... * 由于每次都取两个放回去一个, 相当于每次取了一个 * 那就可以取 n-1 次, 因为第 n 次取的时候堆里面只有一个值了 * PS : 前面实现了最大堆, 现在先实现一下最小堆吧 */

2021-04-04 22:23:18 297

原创 最大堆的建立, 插入, 取出

/* * 最大堆 * 常使用完全二叉树表示, 用数组来存储 * 定义 : * 每个结点的值不小于子结点的值 * * 操作 : * 建立空的堆 * 利用已有的数组建立堆 * 插入 * 取出最大值 * */#include <stdio.h>#include <stdlib.h>#include <memory.h>#define ElementType int#define MaxData 1000typedef struc

2021-04-04 22:21:20 213

原创 平衡二叉树的插入,删除与查找

平衡二叉树与二叉搜索树不同之处是结点结构里多了平衡因子balance factor : 绝对值(左子树的高度-右子树的高度)定义要么是二叉搜索树要么是空树左右子树的高度差不超过一左右子树都是平衡二叉树高度的定义叶结点高度为 1树的高度等于左子树高度与右子树高度的最大值操作1. 插入平衡二叉树插入结点后可能会导致失衡此时就要调整离插入结点最近的失衡的树 , 失衡的四种情况有不同的应对方式左单旋 : 失衡的树的左子树的左子树比较高让 leftHeight-1, r

2021-04-04 22:20:26 180

原创 二叉搜索树的查找与插入操作

/* * 二叉搜索树 * * 定义 : * 对于一颗二叉树其 * 非空左子树的所有键值小于其根结点的值 * 非空右子树的所有键值大于其根结点的值 * 左右子树都是二叉搜索树 * * 操作 : * 查找 * 递归查找 * 迭代查找 * 插入 * 递归插入 * 迭代插入 * * * * */#include <iostream>#include <stdio.h>#include

2021-04-04 22:19:17 215 2

原创 二叉树的各种创建与遍历

/* * 二叉树 BinaryTree * 创建树 : * 递归遍历生成 * 层序遍历生成 * 遍历 : * 递归遍历 : 前序、中序、后序 * 非递归遍历(堆栈) : 前序、中序、后序 * 层序遍历(队列) * */#include <iostream>#include <stdio.h>#include <stdlib.h>#include <sta

2021-04-04 22:17:24 245

原创 ip 分组校验和的计算和检验 c代码实现

ip 分组发送时写入校验和 // 校验和放到最后面计算写入 // 源地址 12 13 14 15 unsigned int net_srcIP = htonl(srcAddr); memcpy(buffer + 12, &net_srcIP, 4); // 目的地址 16 17 18 19 unsigned int net_dstIP = htonl(dstAddr); memcpy(buffer + 16, &ne

2021-03-14 00:50:16 799

原创 网络字节序和主机字节序 以及大小端的问题

一个地址单元对应着一个字节c 语言中, 一个字符就是一个字节, 所以字符串不用考虑大小端的问题对于 int 这种四个字节的, 就有问题了#include<stdio.h>int main() { long int longInt = 0x12345678; unsigned char* p = (unsigned char*)&longInt; printf("\n longInt(%%d) = %d \n longInt(%%x) = %

2021-03-13 18:39:36 118

原创 c 语言获取数组大小 sizeof 对于数组和指针的区别

c 语言 sizeof 对于 int 数组和 int 指针是不一样的对于 malloc 定义的数组来说不能用 sizeof 获取数组大小#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int nums[10]; int *pNums = (int*)malloc(10*sizeof(int)); printf("size of nums = %d\n", size

2021-03-06 14:25:21 144

原创 c++ 主函数参数 argc 和 argv[] 是什么

今天测试了一下 cpp main主函数的参数 , 结果很有意思#include <stdio.h>int main(int argc, char const *argv[]){ printf("%d\n",argc); for(int i=0;i<argc;i++){ printf("argv[%d] = %s\n", i, argv[i]); } return 0;}

2021-03-06 13:24:29 169

原创 哈工大操作系统课程及实验完结体会以及经验 , 以及开箱即用的虚拟机实验环境

目录先导篇 : 做实验之前你要看的????????????大礼包 : 虚拟机实验环境???? : 百度网盘链接这是实验指导书和我做的笔记????[仓库](https://github.com/Kevin-Kevin/hit-operatingSystem)使用指南先导篇 : 做实验之前你要看的课程学习需要 汇编语言 , C 语言​ 汇编我是现学的 , 前面几个实验要用到C 语言 , 这个不用说​ ⚠️ 注意 , 字符串数组要加 '\0’C的库函数要能正确使用 , 在网上找好的一个 C 函数库参

2021-03-04 21:36:17 1070 1

原创 快速在 github 上部署 gitbook生成的静态页面

1. 创建 github 仓库, clone 到本地目录git clone yourRepositoryUrl2. 安装 gitbook百度搜索如何安装3. 安装 gitbook-summarynpm install -g gitbook-summary4. 新建 push.sh终端运行代码touch push.shchmod +x push.sh代码意思 : 新建了 push.sh , 然后改变权限, 使其可执行5. 向 push.sh 写入命令echo 'make dict

2021-03-03 01:14:01 351

原创 剑指 Offer 59 - II. 队列的最大值

剑指 Offer 59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"][[],[1],[2],[],[],[]]输出:

2021-02-28 15:16:56 110

原创 剑指 Offer 45. 把数组排成最小的数

剑指 Offer 45. 把数组排成最小的数输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”方法一 : 插入排序 (要使用特殊的比较方式)class Solution {public: string minNumber(vector<int>& nums) { // 插入排序

2021-02-28 15:14:33 51

原创 剑指 Offer 30. 包含min函数的栈

剑指 Offer 30. 包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(

2021-02-28 15:09:39 54

stm32之传感器DHT11.zip

stm32开发之传感器DHT11,读取温度和湿度 ,包括proteus仿真程序以及keil程序(没什么好说的了)

2020-03-23

stm32之定时器(按秒闪烁的LED灯).zip

stm32开发之定时器,利用定时器控制灯的闪烁。 包括proteus仿真程序以及keil程序 (没什么好说的,看程序吧)

2020-03-23

stm32之二进制灯外部中断.zip

stm32开发之外部中断,利用按键的外部中断来控制二进制灯的 +1 -1 以及清零。 包括proteus仿真程序以及keil程序(我真的不知道要描述什么了)

2020-03-23

stm32之流水灯.zip

使用proteus仿真流水灯,简单的gpio的使用,包括proteus仿真和keil程序 (本资源仅做学习分享)

2020-03-23

stm32之ampire128.zip

stm32开发之ampire128,proteus仿真程序以及keil程序,ampire128*64 就是一块lcd显示屏,可以看成是 128*64 个灯泡组成

2020-03-23

空空如也

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

TA关注的人

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