自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

转载 C语言switch case语句中定义变量问题

严正声明: 作者:psklf 出处: http://www.cnblogs.com/psklf/p/6702767.html 欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任!这个问题需要分开讨论,C 语言和 C++ 的标准定义是不同的。 C++int Caset(int a) { switch (a) { case 1:

2017-08-13 12:20:00 12245 2

原创 京东2015校园招聘笔试编程题

题目一:请编写一个函数func,输入一个正整数n,返回一个最小的正整数m(m>9,即m至少包含两位数),使得m的各位乘积等于n,例如输入36,输出49;输入100,输出455,如果对于某个n不存在着这样的m,请输出-1.语言不限,但不要用伪代码作答,函数输入输出请参考如下函数原型。int func(int n);分析: 采用递归思想解决。func(n) = k * func(n/k);

2017-08-11 16:27:10 492

转载 我理解的剑指offer----字符串的全排列和组合算法

注:在阅读原作者的博客的基础上,我增加了一些我在阅读过程中的理解,便于大家理解,也便于我自己复习。在我自己添加的内容前我会添加【注】标记。全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。

2017-08-07 10:41:39 553

原创

图图里面的术语:路径 :由边顺序连接的一系列订单。简单路径 :一条没有重复顶点的路径。环 :一条至少含有一条边且起点和终点相同的路径。简单环 :一条(除了起点和终点必须相同之外)不含有重复顶点和边的环。路径或者环的长度为其中所包含的边数。当两个顶点之间存在一条连接双方的路径时,我们称一个顶点和另一个顶点时连通的。连通图:如果从任意一个顶点都存在一条路径到达另一个任意顶点,我们称这幅图是连通图。树是一

2017-09-15 15:38:18 401

原创 gdb调试core文件快速定位core dump位置

gdb调试core文件快速定位core dump位置core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因

2017-09-14 09:55:25 2675

原创 操作系统常考面试题

http://blog.csdn.net/youngchang06hpu/article/details/8009947

2017-09-14 09:22:29 394

原创 linux同步工具

linux同步工具项目源码 项目简介 :实现在linux环境下服务端和客户端同步文件、更新文件、一键部署环境开发环境 :linux,c++, vim, g++, gdb, make 主要技术 :1、正则表达式:关于正则表达式的元字符和在c++中使用正则表达式,我做了总结:正则表达式2、守护进程:linux下,man 7 daemon会得到守护进程的标准创建过程。 1. Close all open

2017-09-13 11:24:04 849

转载 命令模式

命令模式问题Command 模式通过将请求封装到一个对象(Command) 中, 并将请求的接受者存放到 具体的 ConcreteCommand 类中(Receiver) 中, 从而实现调用操作的对象和操作的具体实现 者之间的解耦。 模式选择Command 模式的典型结构图为:Command 模式结构图中,将请求的接收者(处理者)放到 Command 的具体子类 ConcreteCommand

2017-09-13 11:18:55 282

转载 工厂模式

工厂模式问题 在面向对象系统设计中经常可以遇到以下的两类问题: 1)为了提高内聚(Cohesion)和松耦合(Coupling),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现, 达到了多态的目的。 这里很容易出现的一个问题 n 多的子类继承自抽象基类, 我们不得不在每次要用到子类的地方就编写诸如 new ×××;的代码。这里带来

2017-09-13 10:56:31 289

转载 Mediator(中介者)模式

Mediator(中介者)模式问题 在面向对象系统的设计和开发过程中, 对象之间的交互和通信是最为常见的情况, 因为对象间的交互本身就是一种通信。 在系统比较小的时候, 可能对象间的通信不是很多、 对象也比较少, 我们可以直接硬编码到各个对象的方法中。 但是当系统规模变大, 对象的量变引起系统复杂度的急剧增加, 对象间的通信也变得越来越复杂, 这时候我们就要提供一个专门处理对象间交互和通信的类,

2017-09-13 10:36:30 273

转载 生产消费者模型

生产者/消费者模型 原文地址:http://blog.csdn.net/sicofield/article/details/8849392 产者/消费者模型描述如下:有一个或多个生产者生产某种类型的数据,并防止在缓冲区(可以是数组也可以是队列等数据结构)中;有一个消费者可以从缓冲区中取数据,每次取一项;系统保证避免对缓冲区的重复操作,也就是说在任何时候只有一个主体(生产者或消费者)可以访问缓

2017-09-13 10:09:43 380

转载 gdb调试多进程和多线程命令

gdb调试多进程和多线程命令原文地址:http://blog.csdn.net/pbymw8iwm/article/details/7876797默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:o

2017-09-09 14:58:01 384

原创 注释转换工具

注释转换工具项目源码项目简介 :实现对一个C/C++语言程序源文件中注释的转换功能。开发环境 : Linux/windows, c++, vs, vim, g++, gdb, make主要技术 : 状态机,继承多态实现思路 :注释转换工具使用的主要的技术是状态机,通过对输入的文件流中的每个字符读取识别然后进入不同的状态进行处理,最终实现将输入文件流中的/**/注释转换为//。主要代码摘录:typed

2017-09-08 16:40:27 597

原创 cocos2dx跨平台游戏PoetryInGame

cocos2dx跨平台游戏PoetryInGame源码地址项目简介:这个项目是我和其他两个同学参加微软创新杯时开发的一个游戏,游戏完全使用c++开发的,主要借助cocos2dx游戏开发引擎完成。poetryInGame是一款2d横版过关冒险游戏,这款游戏是我们主要为小孩子开发的。顾名思义,我们将中国的古诗词融入到游戏中,可以让小孩子在玩游戏中学习到古诗。开发环境:linux、windows、mac、

2017-09-08 15:46:46 238

转载 观察者模式

问题Observer 模式应该可以说是应用最多、影响最广的模式之一,因为 Observer 的一个实例 Model/View/Control(MVC) 结构在系统开发架构设计中有着很重要的地位和意义, MVC实现了业务逻辑和表示层的解耦。 个人也认为 Observer 模式是软件开发过程中必须要掌握和使用的模式之一。在 MFC 中, Doc/View(文档视图结构)提供了实现 MVC 的框架结构(有

2017-09-08 14:57:38 170

转载 委托设计模式(即代理模式)

问题至少在以下集中情况下可以用 Proxy 模式解决问题: 1)创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成, GoF 称之为虚代理(Virtual Proxy); 2)为网络上的对象创建一个局部的本地代理, 比如要操作一个网络上的一个对象(网络性能不好的时候,问题尤其突出),我们将这个操纵的过程交给一个代理去完成, GoF 称之为远程代理(Remote Pro

2017-09-08 11:31:53 681

原创 gdb调试相关

占坑

2017-09-08 10:04:50 227

原创 操作系统和linux编程常考题目

1、请用普通的互斥锁编程实现一个读写锁参考答案: 下面是可参考的伪代码:count_mutex = mutex_init();write_mutex = mutex_init();read_count = 0;void read_lock { lock(count_mutex); read_count++; if (read_count == 1) { lock(write_mute

2017-08-26 19:27:56 2824

原创 c/c++常考面试题(二)

一、实现一个Memcpy函数void *memcpy(void *dst, const void *src, size_t len){ if(NULL == dst || NULL == src){ return NULL; } void *ret = dst; if(dst char *)dst >= (char *)src + len){ //没有内存重叠,从低地

2017-08-26 19:15:30 327

原创 c/c++常考的面试题

一、分析下面代码有什么问题?void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );}参考答案: 字符串str1需要11个字节才能存放下(包括末尾的’\0’),而string只有10个字节的空间,strcpy会导致数组越界; 二、 分析下面代码有什么问题?void test2(){

2017-08-25 20:41:36 533

原创 网络基础常考面试题

一、OSI,TCP/IP,五层协议的体系结构,以及各层协议答:OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)数据链路:PPP、FR、HDLC

2017-08-25 20:07:46 752

原创 动态规划

动态规划一、简介动态规划(dynamic programming)与分治方法很像,都是通过组合子问题的解来求解原问题。分治方法将问题划分为互不相交的子问题,递归的求解子问题,再讲它们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题)。在这种情况下,分治算法会做许多不必要的工作,他会反复地求解那

2017-08-25 16:05:13 303

原创 linux命令集合

grep

2017-08-23 21:40:14 249

原创 奇虎360 2015校园招聘笔试编程题

题目一:写一个函数,根据两文件的绝对路径算出相对路径。如a="/qihoo/app/a/b/c/d/new.c",b="/qihoo/app/1/2/test.c",那么b相对于a的相对路径是"../../../../1/2/test.c"#include #include int isGoodPath( char *path ){ if ( path == NULL

2017-08-23 20:47:18 282

原创 虚拟内存(占坑)

占坑

2017-08-23 10:27:47 417

原创 进程和线程

进程和线程以及死锁参考:进程和线程的区别一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序的并发性高。进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口,顺序执行序列和程序的出口。但是线程不能够独立运行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

2017-08-23 10:26:01 173

原创

树可分为普通树和二叉树,二叉树又可以分为完全二叉树和满二叉树。一、树的常见术语。根结点、子树、孩子、双亲、兄弟 结点的度:结点拥有的子树数称为结点的度(Degree) 叶子结点(终端结点):度为0的结点 分支结点(非终端结点):度不为0的结点 祖先:结点的祖先是从根到该结点所经分支上的所有结点 子孙:以某结点为根的子树中的任一结点都称为该结点的子孙 堂兄弟:双亲在同一层的结点互为堂兄弟

2017-08-22 11:16:39 169

原创 Singleton模式

Singleton模式分为两种模式,懒汉模式和饿汉模式。顾名思义,懒汉模式就是在需要类的对象时再去产生对象,而饿汉模式就是在类初始化时就已经产生了一个类对象,不管我们需不需要这个对象,这个对象自始至终就在那里。 懒汉模式: 优点:可以实现延迟实例化 缺点:多线程环境下需要特殊处理、较饿汉模式有性能问题。饿汉模式: 优点:不用考虑多线程问题,也有比较好的性能 缺点:不能实现延迟实例化写法一、

2017-08-22 10:06:46 256

原创 正则表达式

1、正则表达式介绍:正则表达式(Regular Expression)是用来检索、替换那些符合某个模式规则的文本。正则表达式分为基本正则表达式和拓展正则表达式。正则表达式最初是由Unix中的工具软件(如sed和grep)普及开的。2、正则表达式和通配符:linux下正则表达式和通配符很像,都是为了找到匹配某个规则的字符串,但通配符像是正则表达式的轻量版,主要用在shell中,是由shell负责解析的

2017-08-21 21:27:03 421

原创 Linux命令——wc

wc Linux统计文件行数命令WC功能:统计给定文件的行数,字数,字节数,如果有多个文件给出,分别输出每个文件的信息,如果不指定文件,则从标准输入中读取输入。用法:wc [OPTION] … [FILE]…​ -c 字节数​ -m 字符数​ -l 行数​ –files0-from=F 从指定文件描述符读取输入,默认值为F,表示从标准输入中读取输入。​ -w 单词

2017-08-21 19:50:45 293

原创 位运算

位运算中设计到的操作有:与、或、非、异或、左移、右移。题目一:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数,例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2。分析: 1.将给定的整数右移,并且判断每一次右移之后最低位是否为1. 2.设置一个flag,每次将flag左移,判断给定的整数每一位是否为1. 3.将一个数与它减一相与,会将这个数最右边的1变为0.

2017-08-21 19:49:24 160

转载 二叉树前序、中序、后序遍历非递归写法的透彻解析

版权声明:本文为博主原创文章,转载,请注明出处。若是商业用途,请事先联系作者。 本文源地址:http://blog.csdn.net/zhangxiangdavaid/article/details/37115355前言在前两篇文章二叉树和二叉搜索树中已经涉及到了二叉树的三种遍历。递归写法,只要理解思想,几行代码。可是非递归写法却很不容易。这里特地总结下,透彻解析它们的非递归写法。其中,中序遍历的

2017-08-21 19:48:04 170

原创 win10交换Caps和Ctrl

点击Win+R键 在输入框键入regedit,打开注册表 进入HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Control -> KeyBoard Layout。记住,一定是keyBoard Layout,而不是KeyBoard Layouts 右键菜单,然后选择New -> Binary value 重命名New Value #1

2017-08-20 11:28:23 4636 2

原创 线程进程同步(占坑)

占坑

2017-08-18 10:51:46 230

原创 const关键字相关

const作用:const在c中的作用和cpp中的略有不同。在c中经过const修饰的变量并不是绝对的常量,例如Cconst int a = 0; //定义了一个c语言中的常量int *pa = &a; //定义了一个普通指针指向常量a,这中间经过了强制类型转换*pa = 2; //a的值可以通过pa指针修改printf("%d %d\n", a, *pa);

2017-08-18 10:48:17 184

原创 使用天平称重,经验证,用四个砝码可以秤出1~40的全部整数重量,请问是哪四个砝码?

这个在数学上叫做梅氏砝码问题,其叙述如下: 若有n个砝码,重量分别为M1,M2,……,Mn,且能称出从1到(M1+M2+……+Mn)的所有重量,则再加一个砝码,重量为Mn+1=(M1+M2+……+Mn)*2+1,则这n+1个砝码能称出从1到(M1+M2+……+Mn+Mn+1)的所有重量。 取n=1,M1=1,则可以依此类推出所有砝码的重量为: 1,3,9,27

2017-08-18 10:41:42 3449

原创 两根不均匀的香,每根香烧完的时间是一个小时,用它们确定一段15分钟的时间

先点燃一根香的一端,同时点燃另一根香的两端,当两端点燃的香燃尽时,便是半小时的时间;在两端点燃的香燃尽时,点燃剩下那根香的另外一端,这样,从剩下那根香的另一端开始点燃,到最终燃尽,便是15分钟的时间。

2017-08-18 10:28:18 2342

原创 反转链表

题目:输入一个链表,反转链表后,输出链表的所有元素。struct ListNode{ int value; ListNode *next;};void ReverseList( ListNode** pHead ){ if ( pHead == NULL || *pHead == NULL || (*pHead)->next == NULL )

2017-08-18 10:20:22 142

原创 C语言中常见库函数编写(占坑)

strcpy函数:如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案: 2分 void strcpy( char *strDest, char *strSrc ){ while( (*strDest++ = * strSrc++) != ‘\0’ );}4分 void strcpy( char *strDest, const char *strSrc ) //将

2017-08-18 09:51:26 405

原创 面向对象的特征(占坑)

(1)封装性:封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 在C++中类中成员的属性有:public, protected, private,这三个属性的访问权限依次降低。 (2)继承性:继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

2017-08-18 09:40:22 167

cocos2dx3.14_cpp_html

cpp cocos2dx3.14 api官方文档

2017-03-02

2048项目.docx

一个简单的c语言小项目

2016-10-30

STL中文版.pdf

这个是PJ版的,作为源码分析的入门,初学者应该好好看看

2016-10-30

侯捷《STL源码剖析》简体中文完整版(清晰扫描带目录)

这本书一定得好好看

2016-10-30

C++STL源码分析 SGI版

这个是SGI,比PJ版难,大家可以先分析PJ版的,再来挑战这个

2016-10-30

C++STL源码PJ版

适合初学者提高,了解C++技巧

2016-10-30

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

TA关注的人

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