自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阳光下七月的线条

算法、C/C++、思维、心理学、Linux

  • 博客(22)
  • 资源 (6)
  • 收藏
  • 关注

原创 C++ 类作用域

形参表和函数体处于类作用域中,函数返回类型不一定在类作用域中,如果函数在类定义体之外定义,则用于返回类型的名字在类作用域之外,否则在类作用域内。class Screen{public:typedef std::string::size_type size;//not need to specific the screen::inline size get_cursor() const;

2012-05-23 10:39:36 786

转载 C++泛型算法

本文主要讨论C++标准库中的泛型算法(generic algorithm)。泛型算法是使用容器的强有力的辅助工具。   如果文中有错误或遗漏之处,敬请指出,谢谢!   标准库为容器类型定义的操作很少,并没有为每个容器实现更多的操作。因为这部分操作可以抽象出来为所有的容器工作,那就是泛型算法。所谓“泛型”是指这些算法可以应用于多种容器类型上,而容器内的元素类型也可以多样化。标

2012-05-22 15:07:34 11613 1

转载 关联容器

关联容器:利用键,STL的关联容器能直接保存和提取键。4个关联容器分别为:multiset,set,multimap,map。每个关联容器都按有序的方式维护者它的键。对关联容器的迭代遍历是根据这个容器的排序顺序进行的。multiset和set提供了对值的集合的操作,其中的值都是键,每个键并不存在一个关联值。multimap和map提供了与键相关联的值的操作(这些值有

2012-05-21 21:37:06 1562

转载 序列容器(deque)

STL学习之四——deque序列容器Deque是“双端队列”的简写,像vector一样,deque类的实现提供了读取和修改它的元素的高效索引访问(使用下标)。像list一样,deque类的实现提供了在前端和后端进行高效插入和删除的操作。deque类对随机访问迭代器提供了支持,因此deque能够用于所有的STL算法。Deque最常见的用途之一是维护一个先入先出的队列。

2012-05-21 21:15:32 622

转载 序列容器(list)

list序列容器List序列容器提供了在容器的任何位置执行高效的插入和删除功能。类模板list是用双链表实现的。也就是说,链表中每个节点都包含指向链表中前一个节点的一个指针和指向链表中后一个节点的指针。这就使得类模板list支持双向迭代器,允许以向前和向后的方式遍历容器。下面以demo中的例子来说明list的用法。[cpp] view plaincopy

2012-05-21 20:43:39 611

转载 序列容器(vector)

STL学习之二 序列容器(vector)一、C++标准模板库提供了三种序列容器:vector、list、deque。类模板vector和deque都以数组为基础,类模板list实现了链表的数据结构。STL中最流行的是类模板vector,它是一种更健壮的数据类型,相当于动态数组,能动态得改变数组的大小。Vector和C和C++的原始数组不同。为什么不同呢?因为vector能够

2012-05-21 20:34:51 819 1

转载 标准模板库STL介绍

1. STL介绍标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下本文将介绍STL并探讨它的三个主要概念:容器、迭代器、算法。STL的最大特点就是:数据结构和算法的分离,非面向对象本质。访问对象是通过象指针一样的迭代器实现的;容器是象链表,矢量之类的数据结构,并按模板方式提供;算法是函数模板,用于操作容器中的数据。由于ST

2012-05-21 20:24:31 658

原创 文件输入输出的模式

文件模式:in打开文件做读操作out 打开文件做写操作app在每次写之前找到文件尾ate打开文件后立即将文件定位在文件尾trunc打开文件时清空已存在的文件流binary以二进制模式进行IO操作文件模式组合:out 打开文件做写操作,删除文件中已有

2012-05-18 15:03:58 655

原创 指向函数的指针

函数指针是指指向函数而非指向对象的指针。如下:bool (*pf) ( const string&, const string & );这条语句将pf声明为指向函数的指针,它让所指向的函数带有两个const string& 类型的形参和bool类型的返回值。注意*pf两侧的括号不能少。1.用typdef简化函数指针的定义typedef bool (*cmpFcn) ( co

2012-05-18 14:09:47 418

转载 const函数

classPoint{ public:  intGetX()const;  intGetY()const;  voidSetPt (int,int);  voidOffsetPt (int,int); private:  intxVal, yVal;};1.一些成员函数改变对象,一些成员函数不改变对象. 2.为了使成员函数的意义更加清楚,我们可在不改变对象

2012-05-17 15:28:09 551

转载 C++异常处理

引言异常,让一个函数可以在发现自己无法处理的错误时抛出一个异常,希望它的调用者可以直接或者间接处理这个问题。而传统错误处理技术,检查到一个局部无法处理的问题时:1.终止程序(例如atol,atoi,输入NULL,会产生段错误,导致程序异常退出,如果没有core文件,找问题的人一定会发疯)2.返回一个表示错误的值(很多系统函数都是这样,例如malloc,内存不足,分配失败,返

2012-05-17 14:50:55 645

原创 指针与引用的区别

虽然引用和指针都可以间接的访问另一个值,但它们之间有两个重要的区别。第一个区别:引用总是指向固定的某一个对象,所以定义引用时没有初始化式错误的。第二个重要的区别是赋值行为的差异:给引用赋值修改的是该引用所关联的对象的值,而并不是使引用于另一个对象关联。引用一但初始化,就始终指向同一个特定对象。考虑下面两个例子:int ival 1= 1024, ival2 = 2048;i

2012-05-16 16:06:20 298

原创 bitset类型

bitset对象的定义和初始化:bitset b; b有n位,每位都为0bitset b(u); b是unsigned long型u的一个副本bitset b(s); b是string对象s中含有位串的副本bitset b(s, pos, n ); b是s中从位置pos开始的n个位的副本bitset对象上的操作:b.any( ); b中是否存在值为1的二进制位?

2012-05-15 14:44:13 329

原创 string 类型

string对象初始化:string s1; 默认构造函数,s1为空串string s2(s1); 将s2初始化为s1的一个副本string s3("value"); 将s3初始化为一个字符串字面值的副本string s4(n, 'c'); 将s4初始化为字符‘c’的n个副本string对象的读写:使用标准输入输出操作符读写string对象使用getline函数

2012-05-15 14:14:58 362

原创 const 限定符

const将一个对象转换为一个常量,即这个常量不能被修改。const 对象默认为文件的局部变量,如果让全局const变量可以使别的文件调用,必须加上const限定符//file1.ccextern const int i = 0;//file2.ccextern const int i;while( !i ){};*非const变量默认为extern, 要使

2012-05-15 13:45:38 314

原创 声明和定义

C++区分了声明和定义:定义:用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义声明:用于向程序表明变量的类型和名字。定义也是声明:当定义变量的时候我们声明了类型和名字。可以通过关键字extern声明变量:extern int i;                //声明变量int i;    //定义变量这时extern是声明而不是

2012-05-15 13:29:07 356

原创 变量初始化

方法:C++支持两种初始化变量:复制初始化和直接初始化。复制初始化语法用等号,直接初始化是把初始化式放在括号中:int ival(1024);           //直接初始化int ival = 1024;         //复制初始化规则:内置类型变量初始化:在函数体外定义的变量都初始化成0,在函数体内定义的变量不进行自动初始化。类类型变量初始化:如

2012-05-15 13:22:20 532

原创 哈希表及其常用算法(代码实现)

整理了一下Hash表相关内容,如下:Hash 表是使用 O(1) 时间进行数据的插入删除和查找,但是 hash 表不保证表中数据的有序性,这样在 hash 表中查找最大数据或者最小数据的时间是 O(N) 。1 寻址和 hash 函数         理想状态下 hash 足够大,每一数据保存在一个 hash 存储单元内,这样对于插入删除和查找某一个数据就可以直接

2012-04-23 15:11:45 20398

转载 结构的存储分配(c和指针.P206.)

#include#include int main(){    struct ALIGN         {                   char a;                   int  b;                   char c;         };          struct ALIGN1

2012-04-22 20:51:57 704

转载 打印字符串的任意一部分

使用printf()函数打印字符串的任意部分,请看下例:#include #include #include int main(){ char * source_str = "THIS IS THE SOURCE STRING" ; /* Use printf() to print the first 11 characters of source_str. */

2012-04-22 20:31:02 3443 1

原创 程序员面试----动态规划法的应用

一、概念      动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。     适用于动态规划算法的问题一般有以下三个性质:(1) 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。(2) 无后效性:即某阶段状态一旦确定,

2012-04-22 19:52:08 1424

原创 程序员面试---分治法的应用

分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。       分治法所能解决的问题一般具有以

2012-04-20 15:20:17 1020

双端队列C++实现 双端队列C++实现

自己用C++实现的双端队列数据结构,通过测试,并有注释。有需要的朋友可以看一看

2011-05-23

C++编程思想课后习题答案

C++编程思想课后习题答案 C++编程思想课后习题答案 作者自己写的

2011-03-22

自己编写的基于对话框的摄像头采集程序

自己编写的基于对话框的摄像头采集程序,MFC编写的,用千兆工业以太网实现采集的。

2011-01-19

贝叶斯网络学习算法――k2算法

贝叶斯网络学习算法――k2算法,对于学习数据挖掘的人有用的,涉及到了分类预测算法

2011-01-04

最优化与最优控制正文.pdf

学习最优控制的一本比较好的书籍。最优化与最优控制正文.pdf

2010-12-25

bardemo包含sizecbar.h+sizecbar.cpp+scbarg.h+scbarg.cpp文件

bardemo包含sizecbar.h+sizecbar.cpp+scbarg.h+scbarg.cpp文件,在编写树形控件时很好用的

2010-12-25

空空如也

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

TA关注的人

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