自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

童年的纸飞机的博客

美好的一天从洗头开始。

  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 二叉树的各种遍历

#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <vector>#include <stack>#include <queue>using namespace std;#define null 0x3f3f3f3fstruct TreeNode { int val; TreeNode* left; TreeNode* right; explicit Tree

2021-08-11 20:55:36 136

原创 宏定义++x*y++的计算过程

今天在做爱奇艺笔试的时候,有一个选择题大概如下:#define mul(x, y) ++x*y++int main() { int a = 2; int b = 4; int c = 8; printf("%d", mul(a + b, b + c)); return 0;}问:输出是多少?27那么是怎么来的呢?其实这里考察的是define的使用,define定义的宏只是简单的文本替换,所以mul(a+b, b+c)等价于++a+b*b+c++,这样就知道结果了。计算步

2021-08-01 19:52:29 1311

原创 `implicit_cast`与`down_cast`的使用

在看muduo源码的时候看到了implicit_cast与down_cast,这里顺便做个笔记。implicit_cast和down_cast用在有继承关系的类间转换;implicit_cast用于向上转型(子类指针–>父类指针);down_cast用于向下类型转换(父类指针–>子类指针);示例:#include <iostream>#ifndef NDEBUG#include <cassert>#endifusing namespace s

2021-07-25 14:11:40 504 1

原创 C++简化管理内存的方法

智能指针(存在的问题:循环引用,使用shared_ptr和weak_ptr配合解决);QT中的方法,将堆中分配的内存组成森林,然后删除根节点的时候级联删除所有子节点(存在的问题:对异步的支持不友好,因为你不能确定实际调用的时候,指针指向的东东是否还健在,但如果在异步调用的时候,只要保证用到的东西在实际调用前不会被干掉就行)一个Qt中的例子:#include <iostream>#include <string>#include <vector>#inc..

2021-07-20 17:07:58 132

原创 TopK的问题及代码实现

TopK的问题在面试的时候经常出现,下面根据参考博客的理论来实现:参考:【1】拜托,面试别再问我TopK了!!!【2】Leetcode 215. 数组中的第K个最大元素代码实现:#include <iostream>#include <vector>#include <queue>#include <ctime>#include <random>#include <chrono>#include <fun

2021-07-03 18:51:09 268

原创 理解`atomic_flag`的用法

C++11在实现自旋锁时,一般会用atomic_flag来实现,它有两个成员函数:test_and_set()和clear(),看cppreference上的解释看了一头雾水,所以自己在vs里debug了一下。#include <iostream>#include <atomic>using namespace std;int main() { std::atomic_flag flag{ ATOMIC_FLAG_INIT }; cout << flag.

2021-06-23 21:14:33 1134 1

原创 Leetcode中使用数组创建二叉树

Leetcode中树的题目大多是输入数组的,而在debug的时候还是会有点问题的,所以就自己写了一个通过数组创建二叉树的代码,如下:#include <iostream>#include <vector>using namespace std;#define null INT_MIN / 2 // null 可自己按题目定义/// Leetcode中树节点的结构体struct TreeNode { int val; TreeNode *left; Tre

2021-05-11 15:36:45 862 2

原创 Linux网络编程(一):从一个简单的程序开始

看了很久Linux网络编程,代码都基本能看懂,但是自己一写就废,菜是原罪/(ㄒoㄒ)/~~,所以准备写一个系列关于自己学习Linux网络编程的过程。说明:之后的开发环境如下:系统: Ubuntu 20.04.1 LTS语言:C/C++编译器:g++IED:CLion 2020.2.10. 从一个简单的程序开始0.1 服务器接收需求:实现服务器接收第一个客户端发送过来的第一个数据,将其打印后关闭连接,并退出程序。服务器端代码实现如下:#include <cstdio&gt

2021-04-26 21:21:03 231

原创 共享指针的实现

参考cplusplus.com中的api,实现共享指针的部分功能。#include <cassert>#include <memory>template <typename T>class SharedPointer { public: /// @brief default constructor(default (1)) /// Usage: SharedPointer<T> sptr; /// cout <&lt

2021-04-18 15:16:11 342

原创 解决CLion导入第三方头文件后include头文件not found

0. 问题描述最近在看陈硕大神的Muduo网络库,但是在CLion上试验的时候出了些问题。问题如下:(1)如何编写CMakeLists.txt?(2)导入第三方头文件后,CLion中include这些头文件显示红色下划线(file not found)?1. 问题解决1.1 编写CMakeLists.txt按照官方的文档,将从github下载下来的项目编译后,得到两个文件夹:{your-path}/build/release-install-cpp11和{your-path}/build/rel

2021-04-15 19:59:44 8707 7

原创 googletest的Demo

Google Test框架的一个例子(可能项目结构不太科学)。具体可见:GoogleTestDemo步骤:编写功能的源码,全部写在src/下(可能需要修改src/CMakeLists.txt);从Google Test下载最新的版本,解压后将其放到test目录下(如项目中的test/googletest);修改test/CMakeLists.txt,如下:cmake_minimum_required(VERSION 3.16)# 项目名(改成自己的)set(PROJECT_N

2021-04-02 21:43:48 193

原创 CLion中使用线程库`pthread.h`报错

问题:在CLion中使用pthread.h报错:make[3]: *** [CMakeFiles/TinyWebServer.dir/build.make:84: xxx] Error 1make[2]: *** [CMakeFiles/Makefile2:76: CMakeFiles/xxx.dir/all] Error 2make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/xxx.dir/rule] Error 2make: *** [Mak.

2021-01-24 15:30:53 644

原创 Python正则表达式获取匹配的下标

Python正则表达式获取匹配的下标0. 需求        获取Python正则表达式匹配的下标。如:有一个句子"One plus two equals to three",需要根据模板"X plus Y equals to Z"提取出变量"X"、"Y"和"Z"以及它们在句子中的位置(下标)。1. 解决方案要点:使用finditer函数;使用循环取下标;代码如下:import redef get_it

2021-01-21 11:20:41 2258 4

原创 C++中自增操作符的重载:operator++()与operator(int)

做个实验就明白了:#include <iostream>#include <utility>class Int {public: explicit Int(int i_) : i(i_){} Int operator++(int inc) { // 后置 std::cout << "后置" << std::endl; Int tmp = *this; i += 1; return tmp; } Int& operat

2021-01-19 17:45:22 1349

原创 Qt中QTreeView显示Json格式的文件目录结构并获取绝对路径

Qt中QTreeView显示Json格式的文件目录结构并获取绝对路径1.QTreeView显示JsonQTreeView显示Json参考这里。2. 点击事件获取绝对路径比如下图中,点击city,路径应该是address/city。下面是添加点击事件,获取绝对路径: QObject::connect(view, &QTreeView::pressed, [=](const QModelIndex &index){ QStringList absPath;

2020-09-17 11:34:14 1462 2

原创 C中sizeof()和strlen()的区别

C中sizeof()和strlen()的区别在学Linux服务器端编程的时候,总是被sizeof(buf)、sizeof(buf)-1、strlen(buf)、strlen(buf)+1搞晕,在这里总结一下。因为strlen()是一个函数,参数只能是char*类型,而sizeof()是一个单目运算符,它的参数可以是数组、指针、类型、对象、函数等等,所以这里分两种情况分别说:第一种是字符串情况下,strlen()和sizeof()都可以用;第二种情况是其他类型下,只能用sizeof()。1 字符串情况下

2020-08-21 15:34:51 1508

原创 C++基础

C++基础笔记参考:huihui/interview1. const的使用2. C++面向对象特性c++的OOP特性包括封装、继承、多态,huihui/interview中的那张图挺直观的,这里直接贴过来。其中最复杂的便是多态,所以接下来主要就讲讲多态。2.1 封装靠public、protected、private这三个来控制成员的访问权限来达到封装的特性。public成员:可以被任意实体访问;protected成员:只允许本类和子类的成员函数访问;private成员:只允许本类的成员

2020-07-31 21:53:40 118

原创 Propara中ProStruct源码的调试问题

0. 前言论文:Reasoning about Actions and State Changes by Injecting Commonsense Knowledge, Niket Tandon et al., EMNLP 2018.项目地址:Propara (我只跑了其中的ProStruct模型)1. 遇到的问题1.1 安装环境在requirements.txt中,它要求的是allennlp==0.4.3,记住安装完后检查一下pytorch的版本import torchprint(__

2020-05-12 13:39:39 709

原创 《剑指Offer》面试题7:重建二叉树

题目:题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2, 4, 7, 3, 5, 6, 8}和中序遍历序列{4, 7, 2, 1, 5, 3, 8, 6},则重建出图2.6所示的二叉树并输出它的头结点。1. 解题思路      &nb...

2019-10-08 16:16:57 150

原创 《剑指Offer》面试题1:赋值运算符函数

题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); ~CMyString(void);private: char* m_pData;}1. strcpy的处理学习...

2019-10-07 22:42:12 106

原创 字符相似度计算

1. 问题描述在做自然语言处理的时候,我们有可能会搭建到语音转换文字的模型。为了训练这个模型,我们需要设计一个相似度模型用于匹配目标输出和模型输出的相似度。Input输入两行,每行一个句子,第一行是目标输出,第二行是模型输出。Output输出它们的相似度,保留两位小数。相似度=目标输出和模型输出单词元素的交集的元素个数 / 目标输出和模型输出单词元素的并集的元素个数。样例Inpu...

2019-09-04 09:31:24 569 1

原创 Visual Studio 2017:在一个解决方案中创建多个项目并独立运行每个项目的方法

引言        Java或者Python的编译器都能够在一个项目中创建多个package,省去了重复建项目的步骤,这对于刷算法或者是看书学习过程中按照章节来写代码非常友好。那么C++有没有这种方法呢?在VS 2017中的解决方案先创建一个空项目创建成功后,在右边的“解决方案资源管理器”中就可以看到一...

2019-07-11 15:24:29 13015 5

原创 将P进制数转换成Q进制数

将P进制数转换成Q进制数需要两个步骤:将P进制数转换成十进制数;将十进制数转换成Q进制数.下面是我写的实现:/* 任意进制的转换需要两个步骤: * (1)将P进制数转换成十进制数; * (2)将十进制数转换成Q进制数。 */ #include &lt;iostream&gt;#include &lt;string&gt;#include &lt;stack&gt;us...

2019-03-13 17:27:33 1215

原创 解决打开文件夹中的office文件后windows文件管理器卡死的问题

今天打开电脑处理文件,发现点开excel文件后windows文件管理器就卡死,重启了无数次了还是没用……崩溃ing……结果经过我的探索,终于发现了一个解决办法!!!如图,把文件资源管理器–&gt;查看–&gt;详细信息窗格,关了就可以了。这可能是个bug……...

2019-02-28 21:04:11 13019 72

原创 Bochs与Windows交换文件的解决方案:

工具:Bochs、WinImage、Notepad++环境:Windows,Bochs中运行的是Linux 0.11步骤:使用bximage.exe创建一个镜像,然后复制到Linux 0.11所在的目录下(我用的是diskb.img): 然后,修改`bochsrc.bxrc(建议使用Notepad++):romimage: file=$BXSHARE/BIOS-boc...

2018-06-11 23:31:01 1426

原创 操作系统笔记:书Page188第50题

费翔林, 骆斌. 操作系统教程(第五版),Page 188第50题。

2017-10-30 20:55:31 543

原创 解决Oracle 11g修改多路复用控制文件后出现ORA-01507/ORA-00105

解决Oracle 11g修改多路复用控制文件后出现ORA-01507/ORA-00105

2017-10-30 13:00:13 1749 2

原创 费翔林, 骆斌. 操作系统教程(第五版).第121页28、29题笔记

费翔林, 骆斌. 操作系统教程(第五版)第121页28、29题笔记。

2017-10-23 19:44:57 13456 3

原创 费翔林, 骆斌. 操作系统教程(第五版).Page118第19题笔记

费翔林, 骆斌. 操作系统教程(第五版)第118页19题笔记。

2017-10-23 19:41:53 8589 3

原创 CentOS 7.3搭建LAMP环境和Wordpress

CentOS 7.3搭建LAMP环境和Wordpress

2017-10-20 17:21:11 956

原创 解决用PLSQL Developer连接VMWare中的Oracle 11g问题

PLSQL Developer连接VMWare中的Oracle 11g

2017-09-23 19:18:58 602

原创 PLSQL Developer 64位下载

PLSQL Developer 64位下载

2017-09-11 20:38:46 858

原创 修改Oracle 11g中scott账户锁定和密码

修改Oracle 11g中scott账户锁定和密码

2017-09-10 17:33:14 1460 1

原创 解决Matlab(R2016a) Sheffield GATBX遗传工具箱的一些问题

解决Matlab(R2016a) Sheffield GATBX遗传工具箱的crtbp.m问题

2017-08-18 23:06:54 2418 6

原创 Java继承的初始化顺序

封装继承多态

2017-03-22 22:05:00 282

原创 Java学习笔记(Java程序设计实用教程4th——叶核亚)

第一天 Java语言基础第二天 封装、继承、多态

2017-03-06 00:28:26 2732 8

原创 排序算法效率简单测试

**操作环境:**win8.1+vs2015 说明:1、对直接插入排序、折半排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序、归并排序的简单测试(生成5000个随机数测试执行时间); 2、采用文件分离。//file name:sort.h#pragma once#ifndef SORT_H#define SORT_H#define OK 1#define ERRO

2017-03-05 16:05:25 464

原创 (数据结构作业)用C语言写的一个迷宫

编译环境:win8.1+VS2015 说明:这是数据结构学完栈和队列写的作业。利用随机数生成一张迷宫图,然后用队列找出最短路径,用栈输出之。可以动态显示最短路径喔~~~最后,这个作业用了文件分离写(头文件声明,.cpp文件定义)。 Last but not least:输入的行数和列数都不能太大(12以下)。因为:队列中找最短路径的时候要存储很多位置,当图太大的时候位置就变多了不是,这时候队列就

2017-03-05 15:52:55 8065 1

原创 C语言写的一个电子时钟

C语言的电子时钟

2017-03-05 14:58:48 20440 8

instantclient-basic-64-for-windows

instantclient-basic-64-for-windows.txt instantclient-basic-64-for-windows.txt instantclient-basic-64-for-windows.txt instantclient-basic-64-for-windows.txt instantclient-basic-64-for-windows.txt instantclient-basic-64-for-windows.txt instantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txt instantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txtinstantclient-basic-64-for-windows.txt

2017-10-01

Sheffield_gatbx

Sheffield GATBX toolbox遗传算法工具箱

2017-08-18

空空如也

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

TA关注的人

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