自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(36)
  • 资源 (15)
  • 收藏
  • 关注

转载 红黑树

一步一图一代码,一定要让你真正彻底明白红黑树作者:July   二零一一年一月九日-----------------------------本文参考:I、  The Art of Computer Programming Volume III、 Introduction to Algorithms, Second EditionIII、The Ann

2013-11-28 21:10:35 680

原创 epoll

http://www.cnblogs.com/haippy/archive/2012/01/09/2317269.html

2013-11-28 18:59:35 629

转载 内存搜索

我这段时间正好涉及到内存搜索问题,有几点感受说明一下:一、要考虑语言的因素(如VB指针功能太弱,执行效率较低),建议采取C++或MASM32写比较代码。二、要考虑内存对齐情况,将被查找子串转换为4的倍数的数据(32位机),速度会大幅提升。三、如果不考虑移植性,可采用MMX、SSE或SSE2指令进行优化,但AMD的CPU不支持。四、尽量避免使用二次循环语句,速度将呈几级数增加。在

2013-11-28 11:56:12 1177

原创 找出数组中第二大的数

关于找出数组中第二大的数第一种方法很简单:      把这个数组按大小排序,升序的话就是倒数第二项,降序的话就是倒数第一项。,这样子多循环了好多次,性能不好,不过这样可以找出数组第三大,第四大···的数。第二种方法和找数组最大项的思路一样,不过要先定义两个数,即最大数和第二大数。public int FindSecond(int[] arr){

2013-11-28 11:11:18 2759

原创 atoi函数原型

#include #include int atoi(char *str){        int value = 0;        while(*str>='0' && *str)        {                value *= 10;                value += *str - '0';

2013-11-28 10:40:22 10039 1

原创 c/c++面试题

/* 不反转链表的情况下,反向打印链表元素 */void reverse_print(struct linknode *head){if(head->next != NULL)   reverse_print(head->next);printf("%d ", head->data);}-----/* 遍历原链表,逐个取出链表元素并插入新链表的表头,

2013-11-28 10:24:43 732

原创 得小心的题

1.指针:a &a 有什么区别:a+1 ,移动一位。&a+1,移动一个类型的一位,如果a为int类型,那么就等于移动了4个位。2. char a[]="123"; sizeof(a) = 4; 内存大小 strlen(a) = 3; 长度 sizeof(*a) = 1;  字符 sizeof(&a) = 4; 指针大小3.

2013-11-21 11:17:31 882

原创 static作用const作用

static:1.声明为static的变量,即使是在函数内部;它也仅仅初始化一次,被存放在全局数据段内;2.声明为static的全局变量,仅仅在本文件中具有可见性;其他文件不可见,防止命名冲突;3.声明为static的函数,同2;类:3.声明为static的成员函数,是作为类的静态函数,为所有该类的对象所共享,且内部不能够有动态成员变量。4.声明为static的成员变量,是

2013-11-21 10:07:57 898

原创 extern

1.引用外部变量; extern int a;2.定义为可以被外部变量使用的变量; extern int a = 0;3.引用外部的函数; extern int abc(){} ; 这样的好处就不必把该函数所在的头文件包含进来。可以加速编译过程(加速预处理过程),因为只要链接好,即使不加头文件都是可以调用的嘛。4.定义为可以被外部对象使用的函数;extern int abc(){}

2013-11-21 09:22:33 848

原创 常用算法和数据结构

1.冒泡排序:(右边排好序,冒泡出最大(小)值)外面大循环i<size,里面小循环x<size-1-i(小循环每次把一个极值推向右侧,每次循环次数都-1-i) for(int i=0;i<size;i++)//大循环仅仅起到i作用,其他没了 { bool bHadSwap=false; for(int x=0;xndata[x+1])//【相邻元素数据比较】 {bHadSwap=true;//如果

2013-11-19 11:16:09 1183

原创 进程线程间同步

一:Posix消息队列(通过固定名称来创建和引用消息队列)1.可以认为是一个消息链表,有足够的权限的线程可以往队列中放置和获取消息。2.可指定优先级、在空队列放置消息时候能够产生一个信号或启动一个线程3.创建消息队列mq_open(),mq_close()关闭(并不删除),mq_unlink()删除消息队列;  mq_getattr mq_setattr 最大消息数,单个消息最大大

2013-11-18 17:08:01 957

原创 linuxSocket

1.tcp udp tcp是有链接,可靠,有序的,建立链接后数据包内部不包含对方地址信息,数据没有界限的,是一条字节流,tcp则需要更多的开销在链接和终止上 udp是无链接,不可靠,无序的,每个数据包都是有对方地址信息的,数据间有明显的界限,udp则避免了tcp链接建立和终止所需的开销客户端:创建一个套接字描述符将套接字与地址绑定建立链接读写=======

2013-11-18 16:06:03 790

原创 linux守护进程

1.守护进程也称精灵进程,是生存期较长的一种进程。常常在系统自举时启动,仅在系统关闭时才终止。2.编写守护进程的一些规则: 1.首先调用umask讲文件模式创建的屏蔽子设置为0 2.调用fork,然后exit父进程,这就保证了子进程不是一个进程组的组长进程,这对setsid调用是必要的前提条件 3.调用setsid创建一个新会话:1.成为新会话的首进程2.成为新进程组的组长进程 3

2013-11-18 11:15:43 911

原创 linux信号

1.软件中断,提供了一种处理异步时间的方法2.信号处理函数3.信号处理方式:忽略,默认,函数,SIG_ERR失败4.kill()想别人发送信号,raise想自身进程发送信号5.信号集。6.

2013-11-18 10:48:37 730

原创 linux线程

===线程===好处:1.能够处理异步事件的代码2.能很方便的共享本进程的资源与数据,无需提供类似复杂的进程间通信机制3.任务的并行处理4.改善了响应时间5.且比多进程开销少很多2.线程id是一个非负数,但是它的实现可以用一个结构来代表pthread_t数据类型,所以可移植的操作系统实现不能把它作为整数处理,因此比较2个线程id得用:pthread_equal(

2013-11-18 10:39:23 851

原创 设计模式

Strategy(策略模式):定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。把算法单独成一个对象,达到可扩展不修改的目的。本章OO原则:1.封装变化 2.多用组合,少用继承 3.针对接口编程,不针对实现编程 (可以应付变化的软件&复用,可扩充,可维护)弹力十足。软件的耗时不是在开发上,而是在维护上。so,我

2013-11-17 11:43:01 623

原创 EffectiveC++

1.用const替换#define ,因为const具有检查性。2.尽可能使用const3.重新实现new delete的几种原因。。。EffectiveC++

2013-11-17 11:16:35 742

原创 深入理解计算机系统

1.文件是一组字节序列罢了。linux中的一个很重要概念:文件。

2013-11-17 10:07:29 821

原创 编程珠玑

重要概念:1.深入实际问题解决问题2.算法的融会贯通获得简单而高效的代码3.数据结构在软件设计中所起到的关键作用4.程序验证:断言。。5.测试用例:自己测试好,稳定6.粗略估算法7.代码调化通常在系统实现的后期完成8.

2013-11-17 10:01:46 726

原创 linux程序设计

1.虚拟内存:磁盘一个称为“交换空间”2.mysql使用3.gdb a.out  bt  r  print j   list  break 21  info 4.lint程序5.

2013-11-17 09:53:07 707

原创 代码揭秘

本次复习由于时间有限;就只看之前的笔记了。靠第一章:概述1.编写高效程序首先需要选取一组最好的算法和数据结构。2.了解计算机内部结构和工作原理至少涉及到3门独立科目:计算机组成原理、计算机操作系统、编译原理3.浮点数是近似值4.对齐是由编译器来实施的。5.malloc与new区别  1.new会调用构造函数,会帮类成员进行初始化  2.new无需指明大小,因为它知道

2013-11-17 09:34:04 950

原创 C和指针

哈哈,留个地,下次写

2013-11-15 16:51:53 519

原创 C专家编程

有空应该认真研读阿:我擦!还要做题哦1.宏名应该大写,这样便很容易与函数调用区分开来。2.可移植性:(这样保证最大限度可移植性) 只使用已确定的特性 不突破任何由编译器实现的限制 不产生任何依赖由编译器定义或未确定的或未定义的特性和输出。3.最好不要省略形参名,因为他能够对调用者提供有用的信息。4.尽量不要你使用无符号类型,这样可以避免混合类型的复杂转换细节,使

2013-11-15 16:47:46 517

原创 C陷阱与缺陷

一章:词法陷阱(词法分析器)1.代码间的空白(空格、制表、换行)将被忽略2.= 与 ==3.& && | || 的不同:位运算 与 逻辑运算4.词法分析中的贪心法:每一个符号应该包含尽可能多的字符,来组成一个有意义的表达式或者操作符。 a---b ==> a-- - b5.注意:不要无意中吧整形常量写成了 8进制 的格式了,46 != 046 != 0x466.字符与字符串

2013-11-15 15:57:36 1033

原创 cppPrimer6

第五部分:高级主题第十七章:用于大型程序的工具:异常处理、命名空间、多重继承1.独立开发的库,最好定义在自己的namespace空间里面。以防止重名。2.抛出异常时,栈展开:(过程如下) 暂停当前函数的执行,开始查找匹配的catch子句,匹配相应的异常类,如果找不到匹配的cache程序就调用库函数terminate.3.栈展开期间,会调用局部对象的西沟函数的。(西沟函数不应该抛

2013-11-14 17:59:23 799

原创 cppPrimer5

第四部分:面向对象编程与泛型编程第15章:面向对象编程1.virtual只在类内部的成员函数申明中出现,不能用在类定义体外部出现在函数定义上。2.只有通过引用或指针调用,虚函数才在运行时确定。否则,多态不过来。多态条件:1.继承 2.引用、指针3.友元关系不能继承4.四大函数不能够被继承5.每个西沟函数负责自己的成员,而不会清楚基类的成员。6.多态使用举例: 查看如

2013-11-14 13:49:07 832

原创 cppPrimer4

第三部分:类和数据抽象十二章:类(*this指针)1.const成员函数: double abc() const; 注意:const必须同时出现在声明和定义中,若只出现在其中一处,就会出现一个编译时错误。const在函数()之后哦。2.使用类型别名进行简化:class ABC{ public: typedef std::string::size_type myinttype;}3.

2013-11-13 16:12:52 753

原创 cppPrimer3

十一章:泛型算法 : 排序,查找,最大,最小 ....超过100种算法1.find(迭代其1,迭代其2,元素);如果没有找到,则返回第二个迭代其实参。2.标准算法要求: 1.能遍历 2.能有结尾 3.能够比较 4.3.算法永不执行容器提供的操作,仅仅是依赖迭代其来实现。(算法基于迭代其);1.范围 2.只读不写 3.4.copy(),replace(),sort(),uniqu

2013-11-13 10:53:34 723

转载 STL stable_sort 稳定排序

所谓稳定排序,是指对一个序列进行排序之后,如果两个元素的值相等,则原来乱序时在前面的元素现在(排好序之后)仍然排在前面。STL中提供stable_sort()函数来让我们进行稳定排序。为了更好的说明稳定排序的效果,我们定义了一个结构体元素,一个value成员和一个index成员,前者表示元素的值,后者表示乱序时的索引。stable_sort()内部由归并排序来实现。//Coded by

2013-11-13 10:26:34 5807

原创 cppPrimer2

七.函数1.编译器检查数组形参关联的实参时,它只会检查实参是不是指针、指针的类型和数组元素的类型是否匹配,而不会检查数组的长度。2.不需要修改形参时,用const修饰,用引用&.3.return void;是隐式存在在最后的。4.千万不要返回局部对象的引用或者指针。5.main函数不能调用自己。6.默认实参的指定只能有一次;在声明时指定,实现的时候不能指定。7.内联函数

2013-11-12 15:51:10 721

转载 网上转的mysql10个最实用的查询技巧

MYSQL作为最成功的开源关系型数据库之一,拥有大批的粉丝(本人也是),在这篇文章中,我们精心收集了10个最实用的mysql查询技巧,希望能够带给大家惊喜,如果大家也有非常不错的SQL,请留言与我们分享! 相关阅读:SQL  ,MYSQL使用CASE来重新定义数值类型SELECT id,title, (CASE date WHEN '0000-00-00' THEN ''

2013-11-12 09:08:34 723

原创 cppPrimer1

一.快速入门1.main函数的返回值是一个状态指示器。2.(IDE)集成开发环境, gcc a.c -o newName.out :-o 是重命名,否则默认是a.out3.#include 指示必须单独写成一行:预处理语句必须单独成一行,虽然没找到啥官方理由,但是还是防止预处理语句的混乱才必须单独写成一行。4.定义在不同的命名空间中,则我们的变量名、函数名等都不怕重名的烦恼了。st

2013-11-11 18:04:10 546

转载 关于char wchar_t 和 unicode utf8等混淆概念

以下内容转载:对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。******************************首先,内存中的数据是单纯的二进制数据,当然你要用十六进制来表示它也可以不管你用什么指针指向这段内存,数据就是数据,不会有任何改变你是用char*也好,用int*也罢,甚至用string*都一样,它们都只是指针,类型+地址而已,和它们指向的那段内存

2013-11-11 14:46:17 2866

转载 dup和dup2

dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。#include int dup(int newfd);int dup2(int newfd, int oldfd);      下面用一个简单的例子解释两个函数的用法和区别:#include #include #include #include #include

2013-11-07 13:58:54 661

原创 32位系统指针占4个字节,那64位系统呢?

按道理来说,是8个字节的。不过,为啥我们在64位机器上打出指针的字节数依旧是4个字节呢?为了兼容32位机器的程序呗,这是编译器的,如果想让他打印8个字节,貌似需要更改一下设置即可。http://bbs.chinaunix.net/thread-1635319-1-1.html

2013-11-07 10:26:34 14733

原创 windows上面遇到过的问题

1.win7的时候,socket的recv的最后一个参数用了0x8就可以正常接收了2.

2013-11-05 16:02:48 581

linuxC课件代码-强哥滴

linuxC课件代码

2012-03-22

模版and_Stl

模版and_Stl

2012-03-22

数据采集小项目

数据采集小项目

2012-03-22

oracle笔记proc代码等

oracle笔记proc代码等

2012-03-22

数据结构代码

数据结构代码

2012-03-20

VC课件

VC课件

2012-03-12

c++课件

c++课件

2012-03-12

C基础课件讲解

C基础课件讲解

2012-03-12

c++Primer第4版习题解答pdf

c++Primer第4版习题解答pdf

2012-02-29

这额是我在培训班里面的c++代码

这个是我在培训班里面的c++代码,从开始到最后一整套,学习基础的同学可以come

2012-02-02

C基础代码培训班里面的哦

要学c语言的就来吧。呵呵。这是我在培训班里面学到的东东呵呵。

2012-02-02

uc基础学习源代码

这是我在C培训班里面的代码资料:linux/unix C编程。里面涉及了shell ,socket编程,进程/线程编程等。。。属于入门基础

2012-02-02

应届毕业生的简历模板

这个是我在毕业的时候写的简历,面试用了它,真的一路顺顺利利的。希望大家喜欢

2011-08-24

sturts2+spring+hibernate+dwr2

sturts2+spring+hibernate+dwr2例子

2011-04-18

空空如也

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

TA关注的人

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