自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 递归与迭代的区别(后续再加)

通俗的说:迭代是通过小规模问题的解逐步求解大规模问题的解,也成为正推过程。递归是通过较复杂的问题的解依次归结为较简单的操作,也成为反推过程。递归就是自己调用自己。

2013-04-30 16:44:38 459

转载 字节数对齐比较详细的介绍

Win32平台下的微软C编译器(cl.exe for 80×86)的对齐策略: 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 备注:编译器在给结构体开辟空间时,首先找到结构体中最宽的基本数据类型,然后寻找内存地址能被该基本数据类型所整除的位置,作为结构体的首地址。将这个最宽的基本数据类型的大小作为上面介绍的对齐模数。 2) 结构体每个成员相对于结构体首地址的偏移量(offset)

2013-04-30 12:55:54 731

转载 进程线程及堆栈关系的总结

突然想到进程的栈和线程的栈,就顺便说一下,线程的栈被自动分配到进程的内存空间中进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极

2013-04-26 09:28:07 973

转载 C++中关于new和delete的使用

1.创建动态数组         数组类型的变量有三个重要的限制:数组长度固定不变,在编译时必须知道它的长度,数组只在定义它的块语句中存在。对于动态分配的数组,虽然长度是固定的,但是动态分配的数组不必在编译时知道其长度,可以(通常也是)在运行时才确定数组长度;(下面有个例子,好好理解,在标准C语言中数组的长度必须在编译的时候就是知道的,这算C++与C的一点小区别)同时,动态分配的数

2013-04-25 21:12:21 682

转载 为何new出的对象数组必须要用delete[]删除,而普通数组delete和delete[]都一样

1.在释放堆栈中c++基本数据(包括int,char.....结构体等)的存储空间时,不管是否是数组用delete都不会有错!而且能正常释放所有内存,不会导致内存泄露! //程序A struct text_data_t { int i; }; int _tmain(int argc, _TCHAR* argv[]) { text_data_t

2013-04-25 21:03:05 1465

转载 一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。

假设出沙漠时有1000根萝卜,那么在出沙漠之前一定不只1000根,那么至少要驮两次才会出沙漠,那样从出发地到沙漠边缘都会有往返的里程,那所走的路程将大于3000公里,故最后能卖出萝卜的数量一定是小于1000根的。那么在走到某一个位置的时候萝卜的总数会恰好是1000根。因为驴每次最多驮1000,那么为了最大的利用驴,第一次卸下的地点应该是使萝卜的数量为2000的地点。因为一开始有3000萝卜

2013-04-25 20:11:39 3106

转载 n个人中至少有两个人生日相同的概率

把问题转换成“计算完全没有相同生日的概率A(n)”,再用1减去这个概率即可求出至少两个人生日相同的概率P(n)。分析:第1个人的生日是随意的,有365种可能,概率是365/365=1;第2个人的生日不能与第1个人相同,只有365-1=364种可能,概率是364/365;第3个人的生日不能与前面2人相同,只有365-2=363种可能,概率是363/365;……;……第n个人的

2013-04-25 16:51:36 24773

转载 个人部分理解部分,后续理解再添加:STL中map的实现

红黑数是一种自平衡二叉查找树(AVL),因此,红黑树在很多地方都有应用,在C++STL中,很多部分(目前包括set,multiset,map,multimap)应该了红黑树的变体(SGI 也就是说STL中的红黑树有一些变化)。它是复杂的,但它的操作有着良好的良好的最坏情况运行时间,并且在实践中是高效:它可以在O(log n)时间内做查找,插入和删除操作。红黑树满足以下5个性质:

2013-04-24 15:55:12 600

转载 vector讲的不错,借来参考

vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。 vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似, 不同的地方就是:数组是静态分配空间,一旦分配了空间的大小,就不可再改变了; 而vector是动态分配空间,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量。vector的扩充机制:按照容器现在容量的一倍进行增长。 vector容器分配的

2013-04-24 09:51:23 430

空空如也

空空如也

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

TA关注的人

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