自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟的博客

总太懒,总是想的太多,做的太少

  • 博客(33)
  • 问答 (11)
  • 收藏
  • 关注

翻译 般若波罗蜜多心经

观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界,无无明,亦无无明尽,乃至无老死,亦无老死尽,无苦集灭道,无智亦无得,以无所得故,菩提萨埵。依般若波罗蜜多故,心无挂碍,无挂碍故,无有恐怖,远离颠...

2020-04-21 20:43:55 254

原创 使用CreateMutex控制进程运行的唯一性

int main(){ HANDLE hMutex == CreateMutex(NULL, true, L"processname"); if(GetLastError() == ERROR_ALREADY_EXISTS){ if(hMutex) CloseHandle(hMutex); MessageBox(0, L"程序已经在运行", L"", 0); return -1...

2019-07-31 17:33:31 794

原创 使用FindFirstFile和FindNextFile递归遍历文件目录

void PrintDir(const char *path, const char *ext = "*"){ //文件信息 WIN32_FIND_DATA ffd; string dir = path; dir += "\\"; dir += ext; //打开目录,获取第一个文件/目录 HANDLE hFind = FindFirstFile(A2WString(dir.c_...

2019-07-31 17:19:23 1291

原创 win32创建模态/非模态对话框

1.通过资源文件创建对话框通过资源文件可以创建模态对话框和非模态对话框,创建模态对话框使用DialogBox函数,销毁模态对话框使用EndDialog函数。创建非模态对话框使用CreateDialog函数,销毁非模态对话框使用DestroyWindow函数。2.不同过资源文件直接创建对话框使用CreateDialogIndirect创建非模态对话框,销毁还是使用DestroyWindo...

2019-07-31 13:58:54 1786

原创 win32 api 窗口居中

在网上搜是窗口居中显示的方法搜到了浪浪仔的win32 C/C++程序窗口居中,用了之后发现虽然窗口居中了,但是比原来变大了许多,后来发现是SetWindowPos时窗口的长宽设置错了,在此记录,并给需要的人。void CenterWindow(HWND hWnd){ int scrWidth, scrHeight; RECT rect; //获得屏幕尺寸 s...

2019-07-18 14:47:29 1407

原创 在C++中使用tinyxml2解析和创建xml文件

1.TinyXML的下载TinyXML-2是一个简单,小巧,高效的C ++ XML解析器,可以轻松集成到其他程序中。可以从tinyxml2下载TinyXML。下载完成后解压tinyxml2-master.zip,将tinyxml2.h和tinyxml2.cpp两个文件放到自己的项目中,在使用tinyxml2的文件中#include"tinyxml2.h"2.使用TinyXML2创建xm...

2019-06-27 19:26:20 4181 2

原创 翻转字符串中各单词的在句子中的顺序

class Solution {public: string ReverseSentence(string str) { string res = str; if(str == "") return res; int start = 0; int end = 0; int cur =...

2019-03-05 20:45:56 208

原创 求链表第一个公共节点

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: size_t getLengthOfList(ListNode *head) { size_t res ...

2019-03-05 19:52:07 98

原创 LeetCode-102 二叉树的层序遍历

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla...

2019-03-03 11:39:35 147

原创 LeetCode-111 二叉树的最小深度

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla...

2019-03-03 11:26:15 87

原创 LeetCode-144 二叉树的前序遍历

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla...

2019-03-03 11:12:13 95

原创 从尾到头打印大链表

class Solution {public: vector<int> printListFromTailToHead(ListNode* head) { stack<int> stk; ListNode *p = head; while(p != nullptr) { st...

2019-02-26 22:56:50 92

原创 LeetCode-35 搜索插入位置

class Solution {public: int searchInsert(vector<int>& nums, int target) { if (nums[0] > target) return 0; if (nums[nums.size() - 1] < target) ...

2019-02-25 23:59:47 82

原创 LeetCode-771 宝石与石头

class Solution {public: int numJewelsInStones(string J, string S) { unordered_set<char> jewel; for(int i = 0; i < J.size(); i++) jewel.insert(J[i]); int num = 0; for...

2019-02-25 22:03:07 99

原创 LeetCode-26 删除排序数组中的重复项

class Solution {public: int removeDuplicates(vector<int>& nums) { int left = 0;//[0,left]之间是已剔除重复元素的序列 int right = 1;//用于找下一个不重复的元素 int res = nums.size(); while(right < nums...

2019-02-24 13:47:37 188

原创 LeetCode-27 移除元素

class Solution {public: int removeElement(vector<int>& nums, int val) { int left = 0;//[0, left)之间的元素都不是要被移除的元素 int right = nums.size() - 1;//(right, nums.size()-1]之间的元素都是被移除...

2019-02-24 13:20:11 101

原创 LeetCode-283 移动零

class Solution {public: void moveZeroes(vector<int>& nums) { int left = 0;//[0,left)都是非0元素 int right = 0;//从当前第一个非0位置开始找0 while(right < nums.size()) { if(nums[right]...

2019-02-24 12:34:50 104

原创 LeetCode-225 用队列实现栈

用一个队列实现栈,主要是在pop和top时,先把队列前面的size-1个元素移到队列尾部,再对对头元素进行操作。#include<queue>class MyStack {public: /** Initialize your data structure here. */ MyStack() { } /** Pus...

2019-02-23 20:44:13 113

原创 LeetCode-19 删除链表的倒数第N个节点

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* r...

2019-02-23 16:18:52 81

原创 LeetCode-203 移除链表元素

/*移除链表中的元素(带虚拟头节点版本)*/class Solution {public: ListNode* removeElements(ListNode* head, int val) { ListNode *dummyHead = new ListNode(-1); dummyHead->next = head; ListNode *preNo...

2019-02-22 23:58:10 86

原创 无题

保持一颗善良、朴素、平和的心越来越难了

2019-02-10 11:15:48 112

原创 超简单Qt安装和新建项目教程

最近在学习Qt,分享一下Qt的安装方法并做一下记录。Qt安装:Qt是奇趣公司开发的用于图形界面设计的C++类库,支持跨平台,免费开源。可以在Qt官网下载Qt的安装包,但是官网访问速度比较慢,下载不方便,我们在QTCN开发网(qtcn.org)下载。如图,选择自己的平台下载相应的安装包。下载完成后,一路next,只是到了选择组件的时候要全选,默认的选择只安装了Qt creator,虽然全...

2019-02-07 22:23:59 1501

原创 2018,糟糕的一年

马上就过年了,虽然已经回到家,但还是感觉很落寞,并没有因为过年而感到愉快。过去的一年,几乎一直在遗憾中度过。三月,到了大学的最后一个学期了,毕设没有多少进展,之前的还少修2学分英语,这学期得补回来。毕设一直都不知道怎么做,OB庞大的工程代码使我无从下手,虽然辅导我的学长海飞一直很耐心地帮我,但是总是不能自行编码。最后还是海飞写的代码。等到要交论文的时候,很不幸,我被抽到要进行论文查重。那天连着两夜...

2019-02-04 11:47:43 195

原创 实现C++中String类的构造函数、析构函数和赋值函数

已知类String的原型为:class String{public: String(const char *str = nullptr);//普通构造函数 String(const String &other);//复制构造函数 String & operator =(const String &other);//赋值函数 ~Str...

2018-10-24 21:43:04 335

原创 LeetCode-两数之和

题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution {public: vector<int&...

2018-09-24 20:03:38 94

原创 CRC循环冗余校验的原理

之前学习计算机网络时一直不明白循环冗余校验的原理,今天仔细看了谢希仁的《计算机网络》总算是搞明白了。CRC是数据链路层检验比特差错的校验方法,所谓比特差错,是指在传输过程中1变成0,0变成1的错误。假如在发送端有一组数据M=1010001110010101,这组数据有k=16位,我设置冗余码为n=4位,那么在发送的时候要将n为冗余码添加在原数据M之后形成M+n位发送,然后接收端对收到的数据进行校验...

2018-09-15 12:23:57 7070 1

原创 C++重载、覆盖和隐藏的区别

重载在同一作用域中函数名相同但参数不同(包括参数类型不同,参数个数不同或二者都不同)的函数称为重载(Overload)函数。void print(const char *ch);void print(int a);void print(int a, int b);print("Hello world");//调用print(const char *ch)print(1);//调...

2018-09-14 22:31:23 239

原创 不带头结点的链表的建立和打印

#include<iostream>using namespace std;#define NUM (4000) //打算生成一个含4000个结点的链表,你也可以任意改变typedef int ElementType;//链表元素的类型,这里设置为int,你可以设置其他类型/*定义链表的结点结构:包含结点的值和指向下一节点的指针*/typedef struct listN...

2018-09-11 23:02:29 486

原创 归并排序的C++实现——递归方法

一、如何合并两个有序数组?归并排序算法的基本操作是合并两个已排序的表:对于两个已排好序的数组A和B、存放结果的数组C,设置三个计数器a、b和c,它们初始时置于数组的开始端,将A[a]和B[b]中的较小者存放在C[c]中,同时把相关的计数器向前推进一步。假设有已排序数组A={1,3,5,7}和已排序数组B={2,6,7,9,11,12},初始时,a=b=c=0。比较步骤如下:首先1和2比较,...

2018-09-09 21:24:04 1518

原创 详解捕获异常的try-catch-finlly语句

Java中处理异常有两种方式,一种是throws抛出异常,另一种是try-catch-finally捕获异常。今天要详细介绍一下捕获异常。try-catch语句的语法格式try { //此处为抛出具体异常的代码}catch (ExceptionType1 e) { //抛出异常ExceptionType1时要执行的代码}catch (ExceptionType2 e) {

2017-07-21 19:00:40 5874

原创 复制多级文件夹

问题描述 要复制多级文件夹,即文件夹中包含文件夹和文件,文件夹中又包含文件和文件夹的。基本思想 显然要用到递归,判断当前File对象是文件夹还是文件,如果是文件就直接复制;如果是文件夹,就在目的地创建同名文件夹,再对文件夹下的File对象进行同样的判断和操作。代码import java.io.BufferedInputStream;import java.io.BufferedOutputSt

2017-07-20 19:29:25 519

原创 删除文件夹下的所有文件和子文件夹

删除文件夹下的所有文件和子文件夹背景 这道题是我前几天遇到的一道面试题,遗憾当时没做出来,今天看了传智播客风清扬老师的视频,正好讲到了这道题,所以把它写在这分享给大家。思路 由于delete方法只能删除文件和空目录,当目录不为空时不能使用delete进行删除。所以自然想到用递归的方法进行删除,即: 判断当前File对象是是否是文件夹,不是则删除之,否则对其下的所有文件

2017-07-19 23:04:33 4814

原创 在linux编写shell程序并执行

在linux编写shell程序并执行的步骤简介我是第一次写博客,不知道应该有什么格式和注意事项,请大家多多指教。今天是要讲讲怎样在linux命令行环境下创建一个脚本程序并运行的。这对于稍有经验的人来说都不是事,但对于初次接触linux的新手来说可能会遇到一点麻烦,所以我今天详细讲讲。进入vim编辑器,写代码vi编辑器是所有linux/UNIX操作系统中的标准编辑器,

2017-03-09 23:21:50 18772 4

空空如也

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

TA关注的人

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