自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lambda表达式

在C++中,一共有四种可调用对象:函数、函数指针、重载了函数调用运算符的类以及Lambda表达式。   对Lambda的总结如下:    一个Lambda表达式就是一个可调用的代码单元,也相当于一个未命名的内联函数,一个lambda表达式的标准形式:      ,可以忽略参数列表和返回类型,但是必须包含捕获列表和函数体,调用方式与普通函数相同。auto

2016-04-12 16:39:27 267

原创 约瑟夫环问题

约瑟夫环: n个数字排成一个圆圈,从数字0开始,每次从这个圆圈中删除第k个数字,求这个圆圈中最后剩下的数字。 我们可以使用标准库中的链表来模拟一个圆环,每次访问到链表的结尾时,重新从头开始访问,知道链表中只剩下最后一个元素,输出结果。 这里写代码片 int lastRemaining(unsigned int n,unsigned int k){if (n < 1 || k < 1){

2016-04-08 19:36:29 270

原创 Head_First 第一章:Strategy Pattern

定义DUCK类来作为一个超类,所有的鸭子类都继承它,但是这不能很好的解决问题,因为鸭子的行为字子类中不停的改变,并且让所有的子类都有这些行为是不恰当的,使用接口,虽然可以解决,但不能解决代码复用的问题,因为接口不具有实现代码,因此:   我们应该找出应用中可能需要变化之处,把他们独立出来,和那些不需要变化的分离开。使得代码变化引起的不经意后果变少,系统更有弹性。  尽量多用组合,少用继承!

2016-04-08 17:54:37 241

原创 归并排序

归并排序:  归并排序的核心思想是采用分治法,对已有序的子序列进行合并,从而得到一个有序的序列。例如:两个已经有序的子序列:2,4,6,8与3,5,7,首先首元素也就是2与3比较,2小于3,把2放到最终的序列中,然后拿第一个序列中的4再与3比较,4大于3,于是把3放入最终的序列中,重复以上过程最终当把7放入最终的序列之后,第一个序列中还有8未放入,将8放入最终的子序列,归并结束,已成为一个

2016-04-08 16:48:14 210

原创 快速排序

快速排序:  对于一个要排序的数组a[0]..a[N]来说,首先从数组中任意选出一个数作为一个标准,把数组中比该数小的都放到他前面,比它大的都放到它后面,这个过程称为一趟快速排序,快速排序不是一种稳定的排序算法,相等元素的相对位置会发生变化。      例如:对于数组a[]={6,2,7,3,8,9}来说:          (1)创建变量i=0,指向数组中的第一个元素,j=5

2016-04-08 16:23:05 178

原创 冒泡排序

冒泡排序的基本步骤:(1)从最后的元素开始,相邻元素两两比较,如果前一个大于后一个,则交换(2)对每一对相邻的元素,两两比较,最终第一个位置上的元素即为最小的元素(内循环)(3)重复以上的步骤,但第一个元素除外(外循环)(4)持续对每次越来越少的元素重复以上步骤,直到没有交换为止以上的步骤有一个问题,即使原数组已经是递增排序的,仍然需要比较,因此设置一个标记位flag=

2016-04-06 13:30:42 233

原创 大整数的减法

方法有点LOW:对于两个不确定长度的数进行减法运算,因为长度有可能超过基本数据类型的表达范围,因此我们最好使用字符串来存储,由于长度可能不一致,例如 123,23这两个数,减法运算从右往左进行,对于我们编程实现来说,为了方便控制,最好反转这两个字符串,321,32,这样从字符串的第一个位置开始将字符转为整数(减去‘0’)进行减法运算,在这里分为三种情况:(1)被减数长度大于减数

2016-04-06 11:27:51 926

原创 查找数组中只出现一次的一个数

对于一个数组其中每个数出现了两次,只有一个数出现了一次,找出这个只出现了一次的一个数,这是一个经典的面试题,把数组中的数进行异或运算,出现两次的数异或的结果为0,最终异或的结果就为只出现了一次的一个数。例如:数组元素为3,4,4,3(011)异或4(100)结果为111,111再接着异或4(100),结果为011,即为3。void FindOnlyoneInArray(int a[],in

2016-04-06 10:04:33 3855

空空如也

空空如也

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

TA关注的人

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