随笔分类 -  C++

STL——lower_bound()
摘要:lower_bound()返回的是一个iterator。函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,... 阅读全文

posted @ 2015-12-17 11:10 MMac 阅读(198) 评论(0) 推荐(0)

参数传递的三种方式
摘要:1.值传递,牢记传递的是形参而非实参。2.指针传递,牢记传递的是指向外部变量的地址。3.引用传递,牢记传递的是实参别名。 阅读全文

posted @ 2015-12-10 18:03 MMac 阅读(536) 评论(0) 推荐(0)

Stl——Vector.erase()用法
摘要:今天用上了Vector.erase()方法,发现很多鬼畜。后来查资料才发现,erase()是删除当前迭代器返回下一个迭代器。如果你仅仅是使用了erase但是没有更新遍历的迭代器就会导致当前迭代器被释放成野指针,成为野指针后再使用++ -- 的操作肯定会出问题。于是你需要将迭代器更新,即iter ... 阅读全文

posted @ 2015-12-06 13:45 MMac 阅读(745) 评论(0) 推荐(0)

xor异或逻辑运算
摘要:简略记忆:同0异11.由于0^0=0 0^1=1 所以,0^任何数 = 任何数2.由于1^0=1 1^1 =0所以,1^任何数 = 任何数取反3.任何数^任何数 = 0;4.用于将特定的位反转,如对10100001的第2位和第3位翻转,可以将数与00000110进行按位异或运算。原因见(2)5.通过... 阅读全文

posted @ 2015-12-04 16:28 MMac 阅读(521) 评论(0) 推荐(0)

简单博弈论取石子
摘要:有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博弈(Bash Game,同余理论):只有一堆n个物... 阅读全文

posted @ 2015-12-04 11:30 MMac 阅读(908) 评论(0) 推荐(1)

C++复合结构总结
摘要:数组、结构体和指针是C++的三种复合类型。 数组可以在一个数据对象中存储多个同类型的值,通过使用下标可以访问数组中的各个元素。 结构体可以在一个数据对象中存储多个不同类型的值,通过使用成员关系运算符(.)来访问各个成员。使用结构体的第一步是构建一个模板,定义结构体存储了哪些成员。模板的名称将... 阅读全文

posted @ 2015-11-25 07:56 MMac 阅读(420) 评论(0) 推荐(0)

C++快速排序
摘要:快速排序作为排序家族里面最为快捷的方式,值得思考。我们将一个数组中的某一个数定为基点,然后通过快速排序按照需求(假设升序),将比基点小的数丢在基点左边,把比基点大的数丢在基点右边这样来将基点数的正确位置找到。接着,我们再对基点两边的数组分别进行快排以达到有序的目的。 举例实际分析如下: in... 阅读全文

posted @ 2015-11-20 16:28 MMac 阅读(925) 评论(0) 推荐(0)

C++冒泡排序
摘要:冒泡排序,说起来应该是最简单的。给出一组无序数组,用什么方法来进行排序呢。比如2、3、7、1、6这组数据,要将它按照从小到大的顺序排列起来。首先想到将第一个数A与后面的数比较如果后面的数比较大,那么这两个数的顺序是正确的。将当前A更新成后面较大的数,然后再与后面的比较。遇到比自己小的进行交换,但是不... 阅读全文

posted @ 2015-11-19 16:50 MMac 阅读(30160) 评论(3) 推荐(0)

导航