自定义博客皮肤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)
  • 资源 (7)
  • 收藏
  • 关注

原创 二叉树中叶子节点的个数第K层的节点个数

叶子节点的个数size_t _GetLeefNode(Node *pRoot){ if (pRoot == NULL) return 0; if (NULL == pRoot->pLeft&&NULL == pRoot->pRight) return 1; return _GetLeefNode(pRoot->pLeft) + _GetLee

2017-07-29 22:13:16 1077

原创 二叉树的层序遍历 N!结尾0的个数

二叉树的层序遍历void _LevelOrder(Node *pRoot) { Node *pCur = pRoot; queue<Node *> q; q.push(pCur); while (!q.empty()) { Node *pTop = q.front();

2017-07-24 00:09:44 295

原创 判断是否是栈的弹出序列&&二进制中1的个数

判断是否是栈的弹出序列bool IsPop(char *PopOrder, char *PushOrder,int len){ if (PopOrder == nullptr || PushOrder == nullptr || len <= 0) return false; bool Possible = false; char *PopStart = P

2017-07-23 00:14:08 296

原创 linux复习之进程基础知识

典型进程的ID及其功能 ID 进程名 中文名 类型 作用 0 swapper 交换进程 系统进程 它是内核⼀一部分,不执⾏行磁盘上的程序,是调度进程。 1 init init进程 用户进程 永远不会终⽌止,启动系统,读取系统初始化的文件。 2 pagedaemon 页精灵进程 系统进程 虚存系统的请页操作实际用户和有效用

2017-07-22 23:41:13 311

原创 day19-day21代码片段

1. 1-n中某数字出现的次数#include<iostream>using namespace std;int getNum(int n,int k){ int count = 0; int x; for (int i = 1; x=n/i; i *= 10) { int high = x / 10; if (k == 0)

2017-07-21 23:32:09 396

原创 带有getMin栈

带有getMin栈#include<iostream>#include<stack>using namespace std;template<class T>class MinStack{public: void Pop() { if (st.top() == minSt.top()) { minSt.pop();

2017-07-21 13:52:53 233

原创 使用两个栈实现一个队列+使用两个队列实现一个栈

1. 使用两个栈实现一个队列+使用两个队列实现一个栈两个栈实现一个队列#include<iostream>#include<stack>using namespace std;template<class T>class StackQueue{public: void Push(T data) { Spush.push(data); }

2017-07-20 13:18:01 274

原创 linux知识总结4

1. gdb调试这里写代码片2. 进程切换需要注意哪些问题?  保存处理器PC寄存器的值到被中止进程的私有堆栈; 保存处理器PSW寄存器的值到被中止进程的私有堆栈; 保存处理器SP寄存器的值到被中止进程的进程控制块;  保存处理器其他寄存器的值到被中止进程的私有堆栈; 自待运行进程的进程控制块取SP值并存入处理器的寄存器SP; 自待运行进程的私有堆栈恢复处理器各寄存器的

2017-07-20 00:07:40 266

原创 逆转链表 删除链表非尾节点

逆转链表 删除链表非尾节点void deleteNotTailNode(PNode &pHead, PNode pNode){ if (pNode == nullptr || pHead == nullptr) return; if (pNode == pHead) { pHead = pHead->_pNext; delet

2017-07-18 22:37:19 204

原创 判断链表是否有交点若有找出交点

.判断两个链表是否相交,若相交,求交点。(假设链表不带环)ListNode *InstersecNode(ListNode *pHead1, ListNode *pHead2){ bool flag = IsIntersec(pHead1, pHead2); if (!flag) return nullptr; ListNode *pNode1 = pHea

2017-07-17 21:51:41 287

原创 day16-day18代码片段

1. 二叉树的层序遍历void _LevelOrder(Node *pRoot) { Node *pCur = pRoot; queue<Node *> q; q.push(pCur); while (!q.empty()) { Node *pTop = q.front();

2017-07-17 14:18:27 263

原创 http服务器小项目

1. http项目整体框架1.1http协议格式http请求由三部分组成,分别是:起始行、消息报头、请求正文Request Line<CRLF>Header-Name: header-value<CRLF>Header-Name: header-value<CRLF>//一个或多个,均以<CRLF>结尾<CRLF>body//请求正文起始行以一个方法符号开头,以空格分开,后面跟着请求的URI和协

2017-07-17 11:40:15 866 1

原创 linux知识点总结3

环境变量每个用户登陆后都会有自己专属的环境变量,在linux中环境变量一般都是大写加下划线命名环境变量。环境变量类似一个指针,在查看环境变量时要在前面加$.linux变量分为本地变量和环境变量   环境变量是一种全局变量,存在与所有shell中,环境变量具有继承性,子进程可以继承父进程的环境变量。   本地变量当前shell中的变量,本地变量包含环境变量,本地非环境变量不具有继承特性。在l

2017-07-17 00:58:11 515

原创 求带环链表入口点 计算时间复杂度

求带环链表入口点 计算时间复杂度ListNode *MeetNode(ListNode *&pHead){ if (pHead == nullptr&&pHead->_pNext==nullptr) return nullptr; ListNode *pSlow = pHead->_pNext; ListNode *pFast; if (pSlow-

2017-07-16 23:13:30 475

原创 翻转链表查找链表的倒数第k个节点位运算加法

反转单链表void Reverse(ListNode *&pHead){ if (pHead == nullptr||pHead->_pNext==nullptr) return; ListNode *pCur = pHead; ListNode *pNewHead = nullptr; ListNode *pTemp = nullptr;

2017-07-16 21:15:17 300

原创 代码片段day13-day15

1. 判断是否是树的子树#include<iostream>#include<cassert>using namespace std;struct BinaryTreeNode{ struct BinaryTreeNode *_pLeft; struct BinaryTreeNode *_pRight; char _data; BinaryTreeNode(i

2017-07-15 13:55:46 224

原创 合并有序链表 计算1加到n不用条件判断

合并两个有序链表,合并以后的链表依旧有序。/* 给定两个有序单链表的头节点 head1 和 head2,请合并两个有序链表,合并后的链表依然有序,并返回合并后链表的头节点。  例如:  0->2->3->7->NULL  1->3->5->7->9->NULL  合并后的链表为:0->1->2->3->3->5->7->7->9->NULL*/非递归法:后续更新递归法void Merge(Li

2017-07-14 22:57:52 649

原创 代码片段10-12

1. 并查集/*-1 -1 -1 -1 -1 -1 -1 -1{1, 2} {2, 3} {4, 5} {1, 2}*/#include<iostream>using namespace std;class UnionSet{public: UnionSet(int n) :_size(n + 1) { _a = new int

2017-07-12 11:53:28 242

原创 linux面试准备2

1. 线程的实现方式. (也就是用户线程与内核线程的区别)内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态的消耗,但不能很好的利用多核Cpu,目前Linux pthread大体是这么做的。  线

2017-07-11 17:21:30 735

原创 Linux面试要点

1. 进程有那几种状态,状态转换图,及导致转换的事件   如上图所示,进程包括三种状态:就绪态、运行态和阻塞态。详细说明如下:  注意:创建和退出不是进程的状态。阻塞和就绪的区别:阻塞是等待除CPU以外的资源,而就绪等待的是CPU资源。就绪——执行:对就绪状态的进程,当进程调度程序按一种选定的策略从中选中一个就绪进程,为之分配了处理机后,该进程便由就绪状态变为执行状态;执行——阻塞:正在执行的

2017-07-10 20:06:46 1328

原创 day6-day9代码片段

1. 模拟实现atoi#include<iostream>#include<cassert>using namespace std;enum Legal{valid=0,legal=1};int flag = 1;int fuhao = 1;int strToInt(const char *str){ long long num = 0; while (*str !=

2017-07-07 23:10:32 582

原创 合法IP&窗口最大值数组&打印素数&递归逆序一个栈&栈排序另一个栈&MyString&寻找数组中出现的重复字符&数组中的重复数字&逆序打印链表&空格替换成%20

1. 判断字符串是否是IP地址#include<stdio.h>#include<string.h>int main(void){ char str[31], temp[31]; int a, b, c, d; while(gets(str) != NULL) { if (sscanf(str, "%d.%d.%d.%d", &a, &b, &c

2017-07-04 12:39:01 412

原创 IO中同步异步阻塞非阻塞的区别

一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数

2017-07-03 16:49:50 547

原创 多态&指针访问虚函数&不能被继承的类&快速排序&N皇后问题&插入排序&堆排序&merge归并排序&栈上生成对象&两个栈实现一个队列

多态/* 1. 要想实现覆盖(重写)父类必须声明为virtual,子类可以不声明为virtual.-->FunB() 2. 派生类重写基类的虚函数实现多态,要求函数名、参数列表、返回值完全相同。(协变除外) 3. 基类中定义了虚函数,在派生类中该函数始终保持虚函数的特性。 4. 只有类的非静态成员函数才能定义为虚函数,静态成员函数不能定义为虚函数。 5. 如果

2017-07-02 22:25:06 641

原创 linux命令eval的用法

eval用法功能说明:告知shell取出eval的参数,重新运算求出参数的内容。 语  法:eval [参数] 补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。 参  数:参数不限数目,彼此之间用分号分开。 1. 执行命令行之前扫描它两次,再次运算求出参数的内容。 2. eval取得最后一个参数 $()与· · 三者的的区别?反引号“本身对\进行了转义,并保留

2017-07-01 17:28:52 350

qt的开源项目源码

qt的开源项目源码qt的开源项目源码qt的开源项目源码qt的开源项目源码

2018-07-18

qt源码 最好用的源码

qt源码 最好用的源码 qt源码 最好用的源码 qt源码 最好用的源码

2018-07-12

qt教程 qt高级

qt c++高级编程 c++ gui编程qt c++高级编程 c++ gui编程qt c++高级编程 c++ gui编程

2018-07-10

STL源码剖析-侯捷 里的源码 可用版

STL源码剖析 可用版 有工程直接可以运行 献给想要剖析源码的同学

2018-05-11

k-近邻算法 python可用版

k-近邻算法 python可用版 直接可以用,我的博客里也有相关教程,欢迎关注

2018-05-11

matlab视频图像去雾算法

matlab视频图像去雾算法 基于gui界面的,可更改代码,我的博客里也有相关教程

2018-05-11

密码学MFC实现仿射加密解密超级计算器源码

给大家送福利咯

2017-03-18

空空如也

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

TA关注的人

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