自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 求最大的公共字符串

写一个C++的函数,输入两个字符串,输出其中的长度最大的公共字符串(若有多个,取最后一个)。例如输入"ababcdef",“abxyzabck”, 输出"abc"

2023-05-31 22:40:27 201

原创 手写vector

在这个代码中,实现了以下操作:push_back:将新元素添加到向量的末尾。pop_back:从向量的末尾删除最后一个元素。操作符[]:允许通过索引访问元素。getSize:返回向量中元素的数量。getCapacity:返回向量分配的内部数组的大小。析构函数:释放内存。

2023-05-26 01:47:50 694

原创 手写红黑树

该程序实现了红黑树的插入和中序遍历操作。在每次插入节点时,都会通过左旋、右旋和颜色翻转等操作来维持红黑树的性质。

2023-05-26 01:18:05 840

原创 手写平衡二叉树

在这个实现中,Node 类表示二叉平衡树的节点。每个节点包含一个 key 值,一个指向左子树的指针 left,一个指向右子树的指针 right,以及一个表示该节点的高度 height。max 函数返回两个数中的最大值,height 函数返回给定节点的高度。newNode 函数创建一个新的具有给定 key 值的节点,并将其左右子树和高度初始化为 NULL。该程序实现了二叉平衡树的插入和中序遍历操作。在每次插入节点时,都会检查当前子树是否平衡,并进行相应的旋转操作以维持平衡。

2023-05-26 01:02:46 104

原创 手写单链表

这里我们定义了一个 Node 结构体来表示链表的节点,其中包含了一个 data 成员变量表示节点的数据,以及一个 next 指针成员变量表示下一个节点的地址。在上面的代码中,我们实现了以下三个基本操作:insertAtHead:在链表头部插入一个节点;insertAtTail:在链表尾部插入一个节点;deleteNode:删除链表中指定值的节点。其中,插入操作需要创建一个新的节点,并将其加入到链表中,而删除操作则需要找到要删除的节点,并修改其前一个节点的 next 指针。

2023-05-25 22:39:04 1196

原创 手写队列queue

这里我们使用了循环数组来实现队列,利用取模运算可以使队列的循环利用。在入队操作时,如果队列已满则输出错误信息;在出队操作和获取队首元素时,如果队列为空则同样输出错误信息。

2023-05-25 21:52:53 141

原创 手写栈stack

模板数据类型实现栈以下是一个基于C++的手写栈的示例代码,包括了栈的初始化、入栈、出栈、获取栈顶元素和判断栈是否为空等常用功能。以上示例代码中,我们使用了一个vector来存储栈中的元素。栈的入栈和出栈操作分别使用了vector的push_back和pop_back方法。获取栈顶元素和判断栈是否为空的操作也很简单,直接使用vector的back和empty方法即可。

2023-05-25 21:40:02 209

原创 二叉搜索树查找指定的值

【代码】二叉搜索树查找指定的值。

2023-05-25 19:47:14 101

原创 vector删除指定元素值

【代码】vector删除指定元素值。

2023-05-25 19:45:17 465

原创 C++11智能指针weak_ptr解决shared_ptr循环引用问题

【代码】C++11智能指针weak_ptr解决shared_ptr循环引用问题。

2023-05-16 00:45:41 129

原创 vscode编译的时候:未定义标识符 thread

未定义标识符 thread。

2023-05-14 23:53:10 1443 1

原创 C++11智能指针shared_ptr

shaped_ptr支持普通的拷贝和赋值,左边的shaped_ptr引用计数+1,右边的shaped_ptr引用计数-1。当shaped_ptr的引用计数为0时,就会调用析构函数,释放资源。shaped_ptr相互引用,造成引用计数无法为0,会造成内存泄露,这时引入了weak_ptr,解决shaped_ptr相互引用计数,解决了内存泄露问题。智能指针shared_ptr引用计数。

2023-05-14 17:27:13 71

原创 数组转换链表

题目:传入一个数组,以链表的形式输出。

2023-05-14 16:39:05 296

原创 菜鸟教程之Android学习笔记Service

【代码】菜鸟教程之Android学习笔记Service。

2023-04-09 19:33:55 713

原创 线程池(C语言版本)

手写线程池

2022-12-07 09:31:01 211

原创 基于多线程并发实现的Web服务器

WebServer

2022-12-05 23:41:29 198

转载 Android WiFi 经常掉线出现的原因

Android WiFi 经常掉线出现的原因

2022-11-02 17:32:18 996

转载 Java 网络编程——获得本机在局域网内的 IP 地址

Java网络编程

2022-11-02 17:17:30 2623

转载 wpa_supplicant 状态机的切换以及事件驱动

wpa_supplicant 状态机的切换以及事件驱动

2022-11-01 17:02:44 1185 1

转载 Android判断当前手机连接网络

Android wifi

2022-10-27 11:18:50 381

转载 TinyWebServer大纲

webserver

2022-10-26 10:49:39 812

原创 Java多线程编程

java

2022-10-19 19:50:01 947

原创 设计模式之装饰者模式

设计模式

2022-10-19 12:12:14 5392

原创 Linux在线词典

Linux在线词典

2022-10-12 15:21:10 251

原创 Java线程池

Java线程池

2022-09-08 00:26:25 120

原创 滑动窗口模板一

滑动窗口模板

2022-07-17 19:20:24 101

原创 双指针——三数之和模板

leetcode算法模板

2022-07-16 18:01:47 350

原创 二进制转十进制

二进制转十进制函数int twoToTen(const char *s){ int res = 0; if (s == nullptr) { return 0; } for (int i = 0; i < strlen(s); i++) { if (atoi(s[i]) == 0) { res <<= 1; continue;

2022-05-28 23:38:02 150

原创 Java初始化块,静态初始化块,构造函数执行顺序及其变量存放位置

一. Java类的初始化和实例化1. 类的初始化完成程序执行前的准备工作。在这个阶段,静态的(变量,方法,代码块)会被执行。同时会在开辟一块存储空间用来存放静态的数据。初始化只在类加载的时候执行一次。2. 类的实例化(实例化对象)创建一个对象的过程。在这个过程中会在堆中开辟内存,将一些非静态的方法,变量存放在里面。在程序执行的过程中,可以创建多个对象,既多次实例化。每次实例化都会开辟一块新的内存。(就是调用构造函数)在每个类初始化使用前,都会先对该类进行加载(不是指类的实例化)类加载有几个步骤,

2021-09-03 14:16:52 1175

原创 Android中的Wifi框架知识点

一. wpa_supplicantwpa_supplicant是一个开源软件源项目,它实现了Station对无线网络进行管理和控制的功能。wpa_supplicant支持的功能非常多,下面列举几个重要的功能。支持WPA和IEEE 802.11i定义的大部分功能。1)支持WPA—PSK(WPA-Personal)和WPA-Enterprise(利用RAIDUS认证服务器来完成身份认证的情况)2)数据加密方面支持CCMP,TKIP,WEP104和WER40。其中,WEP104和WEP40中的数字代表

2021-07-31 15:20:01 6119 4

原创 N皇后问题解法

一般遇到N皇后问题,就涉及到回溯算法(backtrace)。回溯算法一般可以用来解决集合,子集,排列,组合,地图路线,字符串路径等问题。下面来总结一下回溯算法的模板:if(终止条件) //判断终止条件{ res.push_back(path); //存放符合题目结果 return; //返回}for(选择 in 选择列表 ){ 做选择 backtrace(路径,选择列表) //递归算法,类似dfs 撤销选择,回溯}首先,定义一个全局二维向量ve

2021-07-26 00:12:43 260

原创 系统调用recvfrom和recv区别

应用程序调用库函数recv和recvfrom接收数据ssize recvfrom(int) //套接字 //接受数据缓冲区 //接受数据长度 //标志 ssize recvfrom(int sockfd, void *buf, size_t len, int flag, //数据发送者地址,函数调用后垓地址结构被回收 //地址长度指针struct sockaddr *addr, socklen_t *addrlen)返回值:以字节计数的消息长度,若无可用消息或对

2021-07-13 21:05:41 1318

原创 Go语言channel

生产消费者模型package mainimport "fmt"import "time"import "sync"import "math/rand"type job struct{ value int64}type result struct{ job *job sum int64}var jobchan = make(chan *job, 100)var resultchan = make(chan *result, 100)var wg sync.WaitGrou

2021-04-03 23:22:07 90

原创 父进程fork子进程

#include <stdio.h>#include <sys/types.h>#include <unistd.h> int main(){ printf("本程序的进程编号是:%d\n",getpid()); int ppid=fork(); sleep(1); // sleep等待进程的生成。 printf("pid=%d\n",ppid); if (ppid!=0) printf("父进

2021-03-20 21:39:54 218 1

原创 主成分分析法PCA特征降维

PCA特征降维matlab代码clc;clear all; %x = xlsread('D:\实验项目\程序\肌电信号分析\腕关节\绝对值均值特征2.xlsx', 'sheet1', 'B2:M140'); %x = xlsread('C:\Users\80590\Desktop\BP分类\腕关节特征2.xlsx', 'sheet2', 'A2:I114'); x = xlsread('C:\Users\80590\Documents\MATLAB\BP分类\测试\两次实验合并特征值1', 'sh

2021-03-19 14:50:42 209

原创 表面肌电信号降噪

表面肌电信号结合小波,EMD,EEMD,CEEMDAN降噪代码% EMD—EEMD—CEEMDAN-小波阈值法降噪研究clc;clear;close all;datastruct = ghdf5read('cb_neifan12021.03.05_15.43.24.hdf5');SEMGdata = datastruct.RawData.Samples;%fNoisy = SEMGdata(1,1000:2000).'; fNoisy = SEMGdata(1,9601:12000).

2021-03-18 21:21:05 1245

转载 回溯法算法模板

回溯问题的本质实际上就是一个决策树的遍历问题。需要解决3个问题。1.路径: 即已经做出的选择,路径是用于确定当前状态的2.选择列表: 当前可以做的选择,有时选择列表并不显式作为参数传入,而是直接推导3.结束条件: 到达决策树底层的标志,无法再做选择。多根据路径确定代码框架:vector<int> result;void backtrack(路径,选择列表){ if(符合结束条件){ result.push_back(路径); return;

2021-03-17 21:33:43 505

原创 PCA主成分分析法

PCA(Principal Component Analysis) 是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量。1.引言在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标

2021-03-14 14:22:52 198

原创 算法刷题经验分享

算法刷题推荐环境力扣+牛客网+编译器(调试bug打断点,不建议常用,考试是以牛客为主)算法深层次理解懂得这个算法的逻辑很重要,算法的多重实现代码逻辑一定要看,如快排。知道这个算法,更要懂得怎么运用。二叉树的遍历,二叉树的题大部分都是围绕遍历解决的,想着这个遍历能解决什么问题,怎么运用。快排解决了第K大的数等,这道题的背后思想是快排算法,就是这种算法的思想去改进题目,这就是大概的万变不离其宗了。字符串匹配特别喜欢考KMP,还有马拉车算法,再者就是考察动态规划或者二维遍历。算法刷题路线我推荐专题刷法

2021-03-14 13:59:50 444

原创 番茄工作法图解学习心得

番茄工作法之时间管理方法1.早上到公司,先专注工作45分钟,然后去倒水,休息一下。2.中午休息前再设置20分钟倒计时,把早上遗留下来的琐事。如邮件,打印资料,电话沟通之类,集中处理一下。3.下午下班前再来上45分钟,专注做重要的事,然后在走道或楼下溜达一圈。4.下午下班前设置20分钟倒计时,把一天的工作做个收尾,列好明天早上到公司要做的那些事。...

2020-10-22 00:04:04 186

空空如也

空空如也

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

TA关注的人

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