自定义博客皮肤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)
  • 资源 (13)
  • 收藏
  • 关注

转载 C语言字符串函数详解(2) strcpy、strcmp、strcat、strlen、strstr

strcpy的源码:char *strcpy(char *strDes, const char *strSrc) { assert((strDes != NULL) && (strSrc != NULL)); char *address = strDe

2011-09-22 23:21:52 957

原创 C语言字符串函数详解(1)

void *memset(void *dest, int c, size_t count);                            //将dest前面count个字符置为字符c.      返回dest的值.void *memcpy(void *dest,

2011-09-22 23:01:10 898

原创 排序算法总结

以下表格是对各种内部排序的总结,对于是否稳定排序,自己可以以n为3或者比较小时,看其是否稳定,这样容易记住。                                                                     排序法

2011-09-09 10:59:40 323

原创 排序算法-堆排序

堆排序        优先队列的结构是节点i的孩子为2*i和2*i+1节点,大顶堆要求父节点大于等于其2个子节点,小顶堆要求父节点小于等于其2个子节点。优先队列可以以O(NlogN)时间进行排序,基于该思想的算法叫做堆排序。        首先将数组构造成一个大顶堆,然后

2011-09-09 10:56:30 349

原创 排序算法-归并排序

归并排序        该算法是经典的分治(divide and conquer)策略,它将问题分(divide)成一些小问题然后递归求解,而治(conquering)的阶段则是将分的阶段解得的答案修不在一起。 算法的基本操作合并两个已排序的表,因为这两个表已经是排序的,所以

2011-09-09 10:51:01 510

原创 算法排序-交换排序(冒泡排序,快速排序)

交换排序有两种:冒泡排序和快速排序。        冒泡排序         冒泡排序就是通过每趟排序,把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等

2011-09-09 10:43:41 522

原创 排序算法-选择排序

选择排序        选择排序的思想是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。在一趟选择,如果当前元素比一个元素小,而该小的元素又出现

2011-09-09 10:28:40 265

原创 快速排序的几种改进

快速排序,顾名思义,快速排序的速度是很快的,平均复杂度是nlogn。      快速排序的思路:1.分治的思想,把数组分成两份,两份分成4分,这样分到足够小,就能很好排序咯,然后把他们合起来,排序完成。2.该分治思想和合并排序思想一样,但是处理上更搞一筹,他是把小的和

2011-09-05 14:05:39 1999

原创 两个变量a,b,不用判断语句,找出两个中比较大的那个变量

法一:位运算          #include using namespace std;int my_max(int x,int y){ int test[2]={x,y}; unsigned int c; c=x-y; c>>=31;

2011-08-30 10:00:29 2442

原创 近日行程安排

今天就要坐火车去大连找高中同学玩了,qq,andy ,大江,很是开心。住宿就在大江大连理工的破宿舍了哈哈,我坐一晚上火车明天早上才到,他们竟然要踢足球,作为范尼表示压力很大....在大连玩几天然后回家,休息调整。在家准备把数据结构的一些知识看完了,这几天一直看查找并实现了其相关的

2011-07-15 10:19:46 359

原创 查找--- 哈希表( 散列表)

哈希表优点:把数据的存储和查找消耗的时间大大降低,几乎可以看作是常数时间,而代价是消耗比较多的内存 散列表由两部分组成:桶数组,散列函数1.桶数组散列表的桶数组是一个大小为N的数组A,其中A的每个单元可看作一只“桶”,整数N表示数组的容量,如果关键字为整数,且均匀地分散在范围[0

2011-07-14 09:01:15 1104

转载 程序员面试题精选--06 判断整数序列是不是二元查找树的后序遍历结果

题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:         8       /  \      6    10    / \

2011-07-13 11:44:37 394

转载 程序员面试题精选---01 把二元查找树转变成排序的双向链表

题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。  比如将二元查找树                                            10

2011-07-13 10:11:20 373

转载 B树,B-树,B+树,B*树介绍

原文地址:http://blog.csdn.net/manesking/archive/2007/02/09/1505979.aspxB树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字

2011-07-12 17:17:02 340

原创 二叉排序树查找效率的改进----平衡二叉树的实现

对二叉排序树查找效率进行分析,就要看其平均查找长度,由于相同n个结点的二叉排序树是不唯一的,例如:                               上面两个二叉排序树的结点是相同的,但是树的形状不同,这样查找元素的时候,效率也不同,若看平均查找效率,必然是第一个图中的

2011-07-12 16:04:52 3545

原创 动态查找表--二叉排序树的实现

动态查找表的特点是表结构本身是在查找过程中动态生成的。二叉排序树的定义是:或者是一颗空树,或者是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值;(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)它的左右子树也分别是

2011-07-11 21:05:10 1913

原创 静态查找表的建立及顺序查找操作

查找是数据结构中很重要的一部分,最近在看查找表,首先是静态查找表,静态查找表可以以顺序表和线性链表来表示,用Search函数来顺序查找,从表中最后一个记录开始,逐个进行记录的关键字和给定值进行比较,如果相等,则查找成功,找到所查记录,反之,若直至最后一个记录,则查找不成功。

2011-07-10 15:19:11 7579

原创 二叉树 建立及相关操作

数据结构的知识忘了好多了。今天实现了一下二叉树及相关操作,对二叉树的遍历采用了递归的方法,当然也可以用非递归方法。附上代码:/*****************************二叉树的建立及相关操作******************************//

2011-07-08 14:31:12 420

原创 既然使用变量就可以访问数据,那为何还用指针呢?

既然使用变量就可以访问数据,那为何还用指针呢?换句话说,我该何时用指针呢?这个问题应该困扰不少像我一样对编程还不开窍的人,今天看了一些,总结一下:     指针最常被用于完成下列3种任务:     1.管理自由存储区(堆)中的数据,即程序员自己申请的内存中的数据;     2.访

2011-07-07 10:02:00 1149

原创 程序运行时在内存中的分布

在操作系统中,一个进程就是处于执行期的程序(当然包括系统资源),实际上正在执行的程序代码的活标本。那么进程的逻辑地址空间是如何划分的呢?图1做了简单的说明(Linux系统下的)。

2011-07-07 08:38:51 758

原创 总结 关于C风格字符串

1.字符串字面值     字符串字面值是一串常量字符,字符串字面值常量用双引号括起来的零个或多个字符表示,为兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符    "Hello World!" //simple string literal

2011-07-06 22:58:09 807 1

转载 函数对象

转自:http://www.cnblogs.com/ly4cn/archive/2007/07/21/826885.html函数对象不是函数指针。但是,在程序代码中,它的调用方式与函数指针一样,后面加个括号就可以了。  这是入门级的随笔,说的是函数对象的定义,

2011-07-05 22:45:29 317

转载 纯虚函数 抽象类

虚函数是C++多态的一种表现 ,例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。 使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。         如果父类的函数(

2011-07-04 15:10:34 2917

原创 CSDN博客更改了

新版csdn博客,mark

2011-07-04 10:26:45 262

转载 C++拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include using namespace std;class CExample {private:  int a;public:  CExample(int b)  { a=b;

2011-06-30 14:55:00 219

转载 c++关键字详解(volatile, mutable, explicit, dynamic_ cast(expression))等

转自:http://cyinger-smiling.blogbus.com/logs/31041587.html1  volatile有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中

2011-06-30 09:38:00 419

原创 关于类的构造函数说明

      C++primer里关于类的构造函数说的太乱了,在此自己整理一下。一 默认构造函数:      从字面意思理解,就是在定义构造函数时会给他默认的值。也就是说,无须输入参数的构造函数都可以作为默认构造函数。这样就好理解了!所以默认构造函数可以有两种形式:     1.若programer没有提供任何构造函数,则C++提供一个默认的构造函数,该默认构造函数是无参构造函数,它仅负

2011-06-30 08:50:00 364

原创 如何使用istream_iterator将cin转到vector? (C/C++) (STL)

本范例使用istream_iterator及copy(),将cin转到vector,只需一行的程序,vector经过sort(),再使用ostream_iterator将vector转到cout,也只需一行程序就可完成。 1/**//*  2(C) OOMusou 2006 http://oomusou.cnblogs.com 3 4Filename    : StreamIterator

2011-06-28 11:12:00 910

原创 关联容器

关联容器支持通过键来高效地查找和读取元素。两个基本的关联容器类型是map和set。map的元素以键-值对的形式组织:键用作元素在map的索引,而值则表示所存储和读取的数据。set仅包含一个键,并有效地支持关于某个键是否存在的查询。set和map类型的对象不允许为同一个键添加第二个元素。如果一个键必须对应多个实例,则需使用multimap或mutiset类型,这两种类型允许多个元素拥有相同的键。

2011-06-27 08:21:00 374

原创 一周总结

      一周基本上都在看书了,一个人在实验室开着空调很舒服,一边做C++primer的习题,捎带着看了面试宝典,温故知新,要坚持下去。            周四周五去雾灵山去玩了,大boss出手大方,大家玩的很high。      周六忙着搬到租的房子那了,真远,还好一切顺利。      下周先把例会的任务给完成了,这个假期基本上就结束了,书还是要继续看下去的,一定要给自己找事情

2011-06-25 22:27:00 388

原创 C++类构造函数初始化列表

构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:class CExample {public:    int a;    float b;    //构造函数初始化列表    CExample(): a(0),b(8.8)    {}    //构造函数内部赋值    CExample()    {        a=0;

2011-06-23 10:28:00 367

原创 cin、cin.get()、cin.getline()、getline()、gets()函数的用法

1、cin>>           用法1:最基本,也是最常用的用法,输入一个数字:#include using namespace std;main (){int a,b;cin>>a>>b;cout}输入:2[回车]3[回车]输出:5用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束#include using namespace std;main (){c

2011-06-22 12:56:00 447

原创 C语言中的逻辑运算符和位运算符总结

老分不清一个&号和俩的用法,今天专门拿出来整理整理:一、逻辑运算符:   包括:1。&&逻辑与 2。||逻辑或 3。!逻辑非   逻辑运算符用于对包含关系运算符的表达式进行合并或取非   对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释   请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成= =是错误的。   假设一个程序在

2011-06-21 14:24:00 8265

原创 (int)a、&a、(int)&a、(int&)a的区别,很偏僻的题

#include #include #include #include using namespace std;int main(){float a = 1.0f;cout cout cout cout cout cout /*(int&)a:将a的引用强制转换为整型,意思是a所在的内存,本来定义的时候为float类型,并初始为1.0f,但现在我要按int类型解释这段内存(也就是说

2011-06-20 23:15:00 582

原创 x&(x-1)表达式的意义

求下面函数的返回值(微软) -- 统计1的个数-------------------------------------int func(int x){    int countx = 0;    while(x)    {        countx++;        x = x&(x-1);    }    return countx;} 假定x = 999910011100

2011-06-20 22:43:00 334

原创 接下来的一年

   现在已经是6月下旬了,接下来的一年对于即将找工作的我来说应该是很重要的,如何把握自己的命运,全靠我自己的努力,我相信自己能做好!

2011-06-20 17:10:00 423

字符串的字典序问题.txt

字典序问题:在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表 A 由 26 个小 写英文字母组成 A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到 右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现 1 次。例如,a,b,ab, bc,xyz 等字符串都是升序字符串。 -search the postion for the given ascend sor string.

2011-03-28

各种排序算法的实现.rar

这个文件包含了所有主流排序算法的实现,对于排序算法的学习很有帮助,vs2008亲测可用

2011-03-22

C常见问题集合.doc

C常见问题集合.doc 想好好学C的用得到吧。。。。。。。。

2011-03-22

用于数据流压缩的huffman算法源代码.rar

霍夫曼算法 ,数据结构课设一般都会用到的吧。。。。。

2011-03-22

MFC深入浅出.chm

MFC深入浅出.chm,对于学习mfc很有帮助

2011-03-19

184_Visual C++面向对象编程教程

184个编程例子,学习语言很好!!!!!!

2011-03-19

数据结构C语言版_数组的顺序存储表示和实现

数据结构C语言版_数组的顺序存储表示和实现,c语言,vs2008调试成功

2011-03-18

数据结构-词索引表代码

数据结构-词索引表代码 vs2008调试成功,c语言编写

2011-03-18

linux下QT程序设计初级教程

linux下QT程序设计初级教程,对于linux下学习qt的人有帮助

2011-03-11

C++经典编程100题

C++经典编程100题,快找工作的同学应该用得到吧

2011-03-08

MFC类库详解中文版

MFC类库详解中文版,有利于更好的学习MFC。

2011-03-05

linux下QT程序设计初级教程

linux下QT程序设计初级教程,上手教程

2011-03-05

qt4中文参考文档,包含实例及其代码,初学者很有用

qt4中文参考文档,包含实例及其代码,初学者很有用,刚和同学要来,先分享!

2011-03-05

空空如也

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

TA关注的人

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