
C/C++
文章平均质量分 85
0x00b
while(sleep){money++;}
展开
-
Makefile经典教程(掌握这些足够)
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make转载 2015-07-31 11:33:52 · 459 阅读 · 0 评论 -
strcmp的思考与折腾
本文纯属闲的没事干,喜欢折腾前段时间找工作,经常会遇到一个笔试题,实现strcmp函数,于是乎,自己想了想,写成了下面这样(可能和大家的代码都差不多,如有雷同,纯属巧合)int __cdecl my_strcmp(const char* src , const char* dst){ assert(src!=NULL || dst!=NULL); while(*src && *原创 2015-07-30 11:22:00 · 1714 阅读 · 0 评论 -
三种工厂模式的分析以及C++实现
简单工厂模式简单工厂模式是工厂模式中最简单的一种,他可以用比较简单的方式隐藏创建对象的细节,一般只需要告诉工厂类所需要的类型,工厂类就会返回需要的产品类,但客户端看到的只是产品的抽象对象,无需关心到底是返回了哪个子类。客户端唯一需要知道的具体子类就是工厂子类。除了这点,基本是达到了依赖倒转原则的要求。 假如,我们不用工厂类,只用AbstractProduct和它的子类,那客户端每次使用转载 2015-08-06 10:52:59 · 437 阅读 · 0 评论 -
插入排序,选择,冒泡,快速排序算法及优化
一开始只想贴代码,但是后来发现还是有人看的。所以觉得还是有必要花点时间去写写。先定义一个用于交换两个数的函数吧。#if 0inline void swap(int& a, int& b){ int c = a; a = b; b = c;}#else//inline void swap(int& a, int& b){ if (a != b) { a =原创 2016-03-10 23:11:28 · 638 阅读 · 0 评论 -
关于两条链表交叉(交叉有环)的问题解决
大晚上睡不着,脑海里忽然出现关于链表的问题,可能是我晚上思考会比较冷静,不那么浮躁的原因,所以想到一些解决方法。一、关于链表交叉两条链表有交叉,最后会走到一起,如下面的丑图:问题1,如何判断两条链表是否有交叉?方法1、最简单粗暴的方法当然是遍历第一条链表的的每个节点的时候,完整遍历第二条链表,看是否有节点相同。伪代码:while p1{while p2原创 2016-03-09 02:06:10 · 1222 阅读 · 0 评论 -
学习之旅-红黑树之插入新节点
关于红黑树的帖子不可谓不多。一开始我看的是july的帖子(链接:http://blog.youkuaiyun.com/v_JULY_v/article/details/6105630),但是删除的时候他这系列说的不是很明白。也可以看维基百科上对于红黑树的说明,说的很清楚,但是全是英文的。。。 这里主要讲讲我自己的理解,以我自己学习红黑树的经历来说的。红黑树就是查找二叉树的一种,因为一般原创 2016-03-23 15:48:06 · 1772 阅读 · 1 评论 -
linux进程间通信——共享内存
共享内存。linux进程之间通信的一种方式。先说说优缺点吧。共享内存,顾名思义,就是一块内存,大家都可以用。优点:操作方便。直接访问内存,效率高。不需要进程有父子关系等等缺点:需要自己同步控制。关于linux的任何函数都可以通过命令man order,查看相关帮助。想要仔细看这些函数的相关帮助,请亲自操作,这是最好的方法。涉及的函数:注:这一系列函数都是以s原创 2016-03-12 21:26:53 · 602 阅读 · 0 评论 -
i++ , ++i 的区别
困惑新手的++(--)运算符,很多老师都会这么说,++在前就先加后运算 ,++在后就先运算,再自增1,国类大学C接触的也多半是谭XX教授编写的(反正当时我们是这样的),在书里经常搞来搞去,搞一堆运算式放在一起,非得你记起来他们的优先级,清楚他们的与语法才能知道结果。对于我这种不太死记硬背的人来说,我觉得还是写一些明确的表达式会让看的人心里比较舒畅一点,比如该加括号就加括号,该拆分就拆分。废原创 2015-07-30 14:50:25 · 623 阅读 · 0 评论