- 博客(55)
- 资源 (7)
- 收藏
- 关注
原创 【面试题】找出字符串中连续出现次数最多的子串
微软的一道面试题:如:abcbcbcabc,这个连续出现次数最多的字串是bc一,考虑边界问题。二,实现优化笛卡尔积组合,总体我是这样想的:就是纵向切出字符串的连续组合集合,在横向一对一跳跃比较集合元素。例如:abcbcabc 一,纵向切:得到所有字符串组合,注意:这里要求的是最多连续子字符串,其实就是优化笛卡尔积的原则,也是边界。 字符串共8位,以子串的长
2012-07-28 23:43:01 7410 10
【面试题】找出字符串中连续出现次数最多的子串
微软的一道面试题:如:abcbcbcabc,这个连续出现次数最多的字串是bc一,考虑边界问题。二,实现优化笛卡尔积组合,总体我是这样想的:就是纵向切出字符串的连续组合集合,在横向一对一跳跃比较集合元素。例如:abcbcabc<wbr><br>一,纵向切:<br>得到所有字符串组合,注意:这里要求的是最多连续子字符串,其...
2012-07-28 23:43:00 199
原创 【C/C++和指针】printf 的那些事
一,printf 1)作用:产生格式化输出的函数(定义在 stdio.h 中)。 2)用法:int printf(const char *format,[argument]); format 参数输出的格式,定义格式为:%[flags] [width] [.perc] [F|N|h|l] type 规定数据输出方
2012-07-25 15:35:48 3267 1
【C/C++和指针】printf 的那些事
一,printf1)作用:产生格式化输出的函数(定义在 stdio.h 中)。2)用法:int printf(const char *format,[argument]);format 参数输出的格式,定义格式为:%[flags] [width] [.perc] [F|N|h|l] type 规定数据输出方式,具体如下: 1.type 含义如下: ...
2012-07-25 15:35:00 119
原创 【C/C++和指针】深入讲解位运算
int、char、short等非浮点数在内存中是按照补码的形式存储的。1)按位取反(~) 单目运算符,参与运算的数和结果均以补码方式出现。 功能:各位取反,如果首位为1则其真实值为:除符号位外,各位取反末尾加1。 示例:~100 = - 101 (100) 的二进制表示为: 0110 0100
2012-07-25 15:19:22 1134
【C/C++和指针】深入讲解位运算
int、char、short等非浮点数在内存中是按照补码的形式存储的。1)按位取反(~) 单目运算符,参与运算的数和结果均以补码方式出现。 功能:各位取反,如果首位为1则其真实值为:除符号位外,各位取反末尾加1。 示例:~100 = - 101 (100) 的二进制表示为: 0110 0100 ~100 的二进制表示为: 1001...
2012-07-25 15:19:00 73
原创 【C/C++和指针】深度剖析----强制类型转换(一)
一,强制类型转换 当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。强制类型转换具有两种形式,称为显式强制转换和隐式强制类型转换。强制类型转换不改变原来数据的类型。 C++中强制类型转换函数有4个: const_cast(用于去除const属性)
2012-07-24 17:41:08 2345
【C/C++和指针】深度剖析----强制类型转换(一)
一,强制类型转换 当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。强制类型转换具有两种形式,称为显式强制转换和隐式强制类型转换。强制类型转换不改变原来数据的类型。 C++中强制类型转换函数有4个: const_cast(用于去除const属性) static_cast(用于基本类...
2012-07-24 17:41:00 94
原创 【C/C++和指针】类默认生成的四个函数
序:对于一个空类,编译器默认生成四个成员函数:默认构造函数、析构函数、拷贝构造函数、赋值函数一,默认构造函数 默认构造函数(default constructor)就是在没有显式提供初始化式时调用的构造函数。它由不带参数的构造函数,或者为所有的形参提供默认实参的构造函数定义。如果定义某个类的变量时没有提供初始化式就会使用默认构造函数。 如果用户定义的类中没有显式的定义任何
2012-07-24 14:43:26 2870 2
【C/C++和指针】类默认生成的四个函数
序:对于一个空类,编译器默认生成四个成员函数:默认构造函数、析构函数、拷贝构造函数、赋值函数一,默认构造函数 默认构造函数(default constructor)就是在没有显式提供初始化式时调用的构造函数。它由不带参数的构造函数,或者为所有的形参提供默认实参的构造函数定义。如果定义某个类的变量时没有提供初始化式就会使用默认构造函数。 如果用户定义的类中没有显式的定义任何构造...
2012-07-24 14:43:00 112
原创 【C/C++和指针】auto_ptr智能指针
一,构造函数与析构函数auto_ptr在构造时获取对某个对象的所有权(ownership),在析构时释放该对象。我们可以这样使用auto_ptr来提高代码安全性:int* p = new int(0);auto_ptr ap(p);从此我们不必关心应该何时释放p, 也不用担心发生异常会有内存泄漏。这里我们有几点要注意:1) 因为auto_ptr析构的时候肯定会删
2012-07-22 10:19:59 1645 7
【C/C++和指针】auto_ptr智能指针
一,构造函数与析构函数auto_ptr在构造时获取对某个对象的所有权(ownership),在析构时释放该对象。我们可以这样使用auto_ptr来提高代码安全性:int* p = new int(0);auto_ptr<int> ap(p);从此我们不必关心应该何时释放p, 也不用担心发生异常会有内存泄漏。这里我们有几点要注意:1) 因为auto_ptr析构的时候肯定会删除...
2012-07-22 10:19:00 62
原创 【C和指针】const指针
一,入门const 指针 指针指向的内容不能变,指针可以改变指向指向const的指针 指针不可以改变指向,指针指向内容可以变 #include "stdio.h" int main() { //const 指针 (指针指向的内容不能变,指针可以改变指向) int a = 5; int b = 6;
2012-07-21 21:53:17 1472
【C和指针】const指针
一,入门const 指针 指针指向的内容不能变,指针可以改变指向指向const的指针 指针不可以改变指向,指针指向内容可以变#include "stdio.h" int main() { //const 指针 (指针指向的内容不能变,指针可以改变指向) int a = 5; int b = 6; const int *pt...
2012-07-21 21:53:00 66
原创 【C和指针】函数指针
一,函数指针 1)定义:指向函数的指针变量。“函数指针”本身是指针变量,该指针变量指向函数。 2)区别:这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。 3)说明:C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样
2012-07-21 21:13:55 1055 2
【C和指针】函数指针
一,函数指针 1)定义:指向函数的指针变量。“函数指针”本身是指针变量,该指针变量指向函数。 2)区别:这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。 3)说明:C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。 4)用途:函...
2012-07-21 21:13:00 57
原创 【C++ Primer】自己动手编写函数 atoi(char *str)
一,要求:自己动手编写 atoi(char *str)函数,功能是将字符串变成数字 简单版本: 需要考虑的地方 1)正负号 2)仅仅考虑十进制 3)如何把数字 字符
2012-07-19 22:41:03 1413 1
【C++ Primer】自己动手编写函数 atoi(char *str)
一,要求:自己动手编写 atoi(char *str)函数,功能是将字符串变成数字简单版本:需要考虑的地方 1)正负号2)仅仅考虑十进制 3)如何把数字 字符 变成整数#include <iostream>using namespace std;int StrToInt(char * str){ int value = 0;...
2012-07-19 22:41:00 124
原创 【设计模式】加薪非要老总批 --- 职责链模式
一,概述 定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为之。 优点:客户提出请求时,请求时沿链传递直至有一个ConcreteHandler对象负责处理它 二,职责链基本代码#include using namespace std; clas
2012-07-18 22:43:30 1066 2
【设计模式】加薪非要老总批 --- 职责链模式
一,概述 定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为之。 优点:客户提出请求时,请求时沿链传递直至有一个ConcreteHandler对象负责处理它二,职责链基本代码#include <iostream>using namespace std; clas...
2012-07-18 22:43:00 96
原创 【设计模式】烤羊肉串引来的思考 --- 命令模式
一,概述 定义:命令模式将一个请求或者操作封装到一个命令对象中。允许系统使用不同的请求将客户端参数化,对请求排队或者记录请求日志,提供命令的撤销,恢复能力 优点:1 命令模式使新的命令很容易被加入2 允许接受请求方否决请求3 可较容易地设计一个命令队列4 可以实现对请求的Undo,Redo5 可以将命令计入日志二,示例
2012-07-10 16:03:35 1484
【设计模式】烤羊肉串引来的思考 --- 命令模式
一,概述 定义:命令模式将一个请求或者操作封装到一个命令对象中。允许系统使用不同的请求将客户端参数化,对请求排队或者记录请求日志,提供命令的撤销,恢复能力 优点:1 命令模式使新的命令很容易被加入2 允许接受请求方否决请求3 可较容易地设计一个命令队列4 可以实现对请求的Undo,Redo5 可以将命令计入日志二,示例 两个人 去吃烧烤,先路过...
2012-07-10 16:03:00 87
原创 【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
如果对Linux下静态链接库和动态链接库感兴趣,请狂点击 -->你懂的一,概念 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 使用方法 1> 格式如:#pragma comment(lib,"XXX.lib"
2012-07-10 14:50:40 7225 3
【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
如果对Linux下静态链接库和动态链接库感兴趣,请狂点击 -->你懂的一,概念 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 使用方法 1> 格式如:#pragma comment(lib,"XXX.lib") ...
2012-07-10 14:50:00 77
【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
如果对Linux下静态链接库和动态链接库感兴趣,请狂点击 -->你懂的一,概念 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 使用方法 1> 格式如:#pragma comment(lib,"XXX.lib") ...
2012-07-10 14:50:00 86
原创 【设计模式】手机软件何时统一 ---- 桥接模式
一,概述 定义:将抽象部分与实现部分分离,使它们都可以独立的变化。 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。 【注意】C++中继承声明为 public 二,示
2012-07-10 11:40:13 3424
【设计模式】手机软件何时统一 ---- 桥接模式
一,概述 定义:将抽象部分与实现部分分离,使它们都可以独立的变化。 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。 【注意】C++中继承声明为 public 二,示例 两款手机,品牌M和品...
2012-07-10 11:40:00 76
【设计模式】手机软件何时统一 ---- 桥接模式
一,概述 定义:将抽象部分与实现部分分离,使它们都可以独立的变化。 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。 【注意】C++中继承声明为 public 二,示例 两款手机,品牌M和品...
2012-07-10 11:40:00 57
原创 【C++ Primer】类的多态
一,概述 1)接口的多种不同的实现方式即为多态。 2)多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在C++中都是通过虚函数(Virtual Function) 实现的。 3)关键点:多
2012-07-10 10:55:06 1343 2
【C++ Primer】类的多态
一,概述 1)接口的多种不同的实现方式即为多态。 2)多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在C++中都是通过虚函数(Virtual Function) 实现的。 3)关键点:多态还有个关键之处就是一切...
2012-07-10 10:55:00 106
【C++ Primer】类的多态
一,概述 1)接口的多种不同的实现方式即为多态。 2)多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在C++中都是通过虚函数(Virtual Function) 实现的。 3)关键点:多态还有个关键之处就是一切...
2012-07-10 10:55:00 72
原创 【设计模式】有些类也需要计划生育 -- 单例模式
一,概述 单例模式确保某一个类只有一个实例,而且自行实例化(自己保存它的唯一实例)并向整个系统提供这个实例。这个类称为单例类。 显然单例模式的要点有三个: 一是某个类只能有一个实例 (本身的初始方法为private,且只有实例为空的时候才建立)
2012-07-09 23:52:53 1685 2
【设计模式】有些类也需要计划生育 -- 单例模式
一,概述 单例模式确保某一个类只有一个实例,而且自行实例化(自己保存它的唯一实例)并向整个系统提供这个实例。这个类称为单例类。 显然单例模式的要点有三个: 一是某个类只能有一个实例 (本身的初始方法为private,且只有实例为空的时候才建立) 二是它必须自行创建这个...
2012-07-09 23:52:00 69
原创 【C++ Primer】内联函数和外联函数
一,概念 成员函数:在类的定义中规定在类体中说明的函数作为类的成员,称为成员函数。 前面讲过一般的成员函数,它是根据某种类的功能的需要来定义的。又讲述了一些特殊的成员函数:构造函数、析构函数、拷贝初始化构造函数等。还有一些成员函数后面还会介绍。 成员函数除了说明和定义在类中之外,还有些什么特性,这是本节讨论的问题。二、内联性和外联函数 类的成员函
2012-07-09 23:13:15 3858 1
【C++ Primer】内联函数和外联函数
一,概念 成员函数:在类的定义中规定在类体中说明的函数作为类的成员,称为成员函数。 前面讲过一般的成员函数,它是根据某种类的功能的需要来定义的。又讲述了一些特殊的成员函数:构造函数、析构函数、拷贝初始化构造函数等。还有一些成员函数后面还会介绍。 成员函数除了说明和定义在类中之外,还有些什么特性,这是本节讨论的问题。二、内联性和外联函数 类的成员函数可以分为内联函数和外联...
2012-07-09 23:13:00 308
原创 【设计模式】迭代器模式
一,概述 定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴漏该对象的内部表示。 作用:客户端可以不必知道数据集合的结构,而通过迭代器的接口来操作数据,不仅保护了数据结构,同时可以自定义数据的访问方式。 其实C++中的STL模板类中大量用到了此种设计模式!二,示例 问题:售票员清点上车人数,然后挨个人遍历,让其
2012-07-09 00:16:16 1979
【设计模式】迭代器模式
一,概述 定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴漏该对象的内部表示。 作用:客户端可以不必知道数据集合的结构,而通过迭代器的接口来操作数据,不仅保护了数据结构,同时可以自定义数据的访问方式。 其实C++中的STL模板类中大量用到了此种设计模式!二,示例 问题:售票员清点上车人数,然后挨个人遍历,让其买票。 class Program...
2012-07-09 00:16:00 95
原创 【设计模式】分公司是一个部门? ---- 组合模式
一,概述 概念:将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和使用具有一致性。 Client:客户端 Component:组合模式中对象接口声明,在适当情况下,实现所有类共有接口的默认行为。
2012-07-09 00:00:47 1559
【设计模式】分公司是一个部门? ---- 组合模式
一,概述 概念:将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和使用具有一致性。 Client:客户端 Component:组合模式中对象接口声明,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理其子部件。 SubMenu:表示节点对象,但是没有子...
2012-07-09 00:00:00 129
原创 【设计模式】如果再回到从前 ---- 备忘录模式
一,概述 定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储自己的哪些内部状态。 2.Meme
2012-07-08 01:03:09 1240
libconio-1.0.0.tar.gz
2012-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人