自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 7-两个栈实现一个队列

入队: 直接进栈1; 出队: 1. 如果栈2不为空,直接弹出栈2栈顶元素; 2. 如果栈2为空,先把栈1的元素依次压入到栈2,然后弹出栈2顶元素。class Solution{public: void push(int node) { stack1.push(node); } int pop() { int res;

2017-08-28 12:13:41 231

原创 4-替换空格

if (str==NULL||length<=0) { return; } int orignallenghth = 0; int newlenghth = 0; int blanknum = 0; while (str[orignallenghth] != '\0') { if (str[orignalleng

2017-08-25 15:16:59 203

原创 2-二维数组的查找

bool Find(int target, vector<vector<int> > array) { int rows=array.size(); int cols=array[0].size(); if(rows==0||cols==0) return false; int i=0;

2017-08-25 14:25:59 224

原创 1-自己实现string类(赋值运算符函数)

class MyString{public: MyString(char* = nullptr); ~MyString(); MyString& operator=(const MyString &); MyString(const MyString &); bool operator==(const MyString &); void showst

2017-08-25 11:21:24 649

原创 c++多线程实现循环打印ABC

网上的资料基本都是java实现的,c++的很少,加上win32的API函数对我个人而言晦涩难懂,真是举步维艰~目前而言对我来说最好理解的,最简单的,是使用Event。 首先明白Event的用法:秒杀多线程第六篇 经典线程同步 事件EventCreateEvent 函数功能:创建事件//函数原型:HANDLECreateEvent( LPSECURITY_ATTRIBUTESlpEventAt

2017-08-24 16:03:17 3135 1

原创 16-反转链表

定义三个指针: 一个指向pre: 一个指向cur: 一个指向next: 因为反转链表后,第一个指向的下一个要为null,所以要把pre先设为null; cur指向本节点,然后先保存下一个节点tempnext,因为如果cur的next指针要反向,反向后就找不到next节点了。然后把cur的next指向pre,pre更新为cur,cur更新为tempnext。 丑陋的代码:Lis

2017-08-23 11:30:52 197

原创 二叉树的创建|非递归遍历

创建struct BinaryTree{ T key; BinaryTree* lchild; BinaryTree* rchild; bool IsSecondPop=false; //主要是方便后序遍历时是否第二次进栈};BinaryTree* CreateBinaryTree() //先序建树 若碰到‘#’就是表示为空,如果不是空,就先建左子树,后建立右

2017-08-20 18:35:21 376

原创 哈希表及处理冲突的方法

哈希表及处理冲突的方法哈希法又称散列法、杂凑法以及关键字地址计算法等,相应的表称为哈希表。这种方法的基本思想是:首先在元素的关键字k和元素的存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数。创建哈希表时,把关键字为k的元素直接存入地址为f(k)的单元;以后当查找关键字为k的元素时,再利用哈希函数计算出该元素的存储位置p=f(k),从而达到按关键字直接存取元素的目的。   

2017-08-20 15:34:26 341

原创 B树 | B+树 | B*树

索引技术  在B树之前,先了解一下索引技术:   许多计算机应用程序都是以大型数据库为中心,而这些数据库因太大只能存在外存中,所以就要求应用程序有高效检索的能力,同时还包括插入,删除,更新等操作能力。  索引就是把一个关键字与它对应的记录相关联的过程,一个索引由若干个索引项构成,每个索引项至少应包含关键字和其对应的记录在存储器中的位置等信息。  索引按照结构可以分为线性索引、树形索引和多级索

2017-08-19 18:44:21 295

原创 Caffe在windows下的配置

下载caffe搜了一下所有的教程都是有个windows文件夹的,下了好几个都没有windows这个文件夹,现在更新了不能用以前的配置了?不知道,终于找到个有windows文件夹的:https://github.com/Microsoft/caffe配置因为么有显卡,要把配置的东西改了; 教程说了要改那个CommonSettings.props配置,我就用notepad改了,然后打开sln文件一直显

2017-08-19 10:39:18 278

原创 STL容器迭代器失效时机

stl

2017-08-17 21:30:37 270

原创 四种必须用到初始化成员列表的情况

1) 初始化一个reference成员2) 初始化一个const成员3) 调用一个基类的构造函数,而该函数有一组参数 通俗的就是,如果基类没有构造函数,派生类的初始化列表必须初始化基类,必须用基类的构造函数构造一个。 因为派生类继承基类时,会先构造基类,然后在构造派生类,如果基类不是默认的构造函数,那么就不知道基类到底咋构造,因此……4) 调用一个数据成员对象的构造函数,而该函数有一组参

2017-08-16 16:13:54 1527 1

原创 网易面经-基础知识

(1) 多态性都有哪些?(静态和动态,然后分别叙述了一下虚函数和函数重载) 静态:函数重载; 动态:虚函数(2) 动态绑定怎么实现?(就是问了一下基类与派生类指针和引用的转换问题) 1. 为每一个包含虚函数的类设置一个虚表(VTABLE)每当创建一个包含有虚函数的类或从包含虚函数的类派生一个类时,编译器就会为这个类创建一个VTABLE。在VTABLE中,编译器放置了这个类中

2017-08-16 11:07:33 646

原创 只能动态/静态分配类对象

只能动态分配类对象

2017-08-16 10:55:17 440

原创 最长递增子序列

使用动态规划

2017-08-15 15:53:40 242

转载 dll和lib区别联系

dll

2017-08-11 16:19:08 257

转载 以_beginthreadex来替代CreateThread

以_beginthreadex来替代CreateThread

2017-08-11 11:44:12 429

原创 最基础问答

堆和栈的区别:1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。2、堆区(heap)— 一般由程序员分配释放,手动释放。 栈堆申请方式系统自动分配程序员自己申请申请大小限制向下生长,连续的内存空间栈的大小是固定的,申请超

2017-08-10 23:13:15 253

转载 TCP协议三次握手以及四次挥手

在介绍三次握手以及四次挥手之前。我们先介绍一些重要的概念。1.未连接队列:在三次握手协议中,服务器维护着一个未连接队列,该队列为每个客户端的SYN包(SYN=j)开设一个条目,该条目表名服务器已经收到SYN包,并向客户端发出确认,正在等待客户的确认包。这些条目所表示的连接在服务器处于SYN_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED(establ

2017-08-10 15:35:04 329 1

转载 函数调用过程原理及函数栈帧分析

转载地址:https://segmentfault.com/a/1190000007977460在x86的计算机系统中,内存空间中的栈主要用于保存函数的参数,返回值,返回地址,本地变量等。一切的函数调用都要将不同的数据、地址压入或者弹出栈。因此,为了更好地理解函数的调用,我们需要先来看看栈是怎么工作的。栈是什么?简单来说,栈是一种LIFO形式的数据结构,所有的数据都

2017-08-10 14:36:05 293

转载 c++程序编译流程

编译

2017-08-10 10:48:17 287

原创 简单函数的源代码

strcpy源码:

2017-08-07 21:46:39 994

原创 c++ 并发编程

一 生产者消费者:    std::mutex mu;deque q;condition_variable CR;void produce(){ int count = 10; while (count>0) { unique_lock lock(mu); cout << " product 生产了" << count << endl; q.push_front(c

2017-08-06 17:31:03 228

原创 观察者模式

(五)观察者模式被观察者和观察者是一对多的关系:观察者需要一个基类,派生类继承于此,实现主体对象对观察者的统一更新操作。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。Subject(目标)——目标知道它的观察者。可以有任意多个观察者观察同一个目标;——提供注册和删除观察者对象的接口。Observer(观察者)——为

2017-08-03 22:40:11 267

原创 红黑树相关

红黑树满足的条件:每个结点要么是红的要么是黑的。根结点是黑的。每个叶结点(叶结点即指树尾端NIL指针或NULL结点)都是黑的(扩充的外部叶子节点)。如果一个结点是红的,那么它的两个儿子都是黑的。对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点。Hash与Map的区别查找速度,总体来说,hash查找速度会比RB树快,而且查找速度基本和数

2017-08-03 16:36:50 203

转载 二叉数||AVL树

数据结构图文解析之:AVL树详解及C++模板实现   写的太棒了,注意的两点,一个是旋转调整,一个节点删除旋转调整:原文中描述的很清楚了 四种失衡调整类型使用情形单左旋在左子树插入左孩子节点,使得平衡因子绝对值由1增至2单右旋在右子树插入右孩子节点,使得平衡因子绝对值

2017-08-02 10:37:03 189

俄罗斯方块(单片机)

俄罗斯方块 实现基本功能 下载下来看看吧

2013-05-09

过程控制及装置

吴勤勤版 第一章的概论 有人要么 我再上传

2011-11-28

空空如也

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

TA关注的人

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