- 博客(15)
- 收藏
- 关注
原创 STL的默认allocator
很早之前看过SGI的默认allocator,是采用了定常内存池分配的一种策略,之后一直以为gcc自带的STL应该也是如此般实现。最近同事和同事在讨论vector的reserve的时候,又讨论到这个问题,我仍然信誓旦旦的解释一遍关于这个默认allocator的实现。过后自己又略又有不安,gcc自带的STL确实是这样的么?于是赶紧翻了一下源码看了一下,最后发现结果出乎我意料,如下:templa
2012-05-04 16:52:55 1025 1
原创 Tcl初体验
初学Tcl,总得找点东西试试的,python的荒废给个人留下了心理上的阴影。默哀一下。。。。 想起之前做本地检索的时候写过的文件收集统计,当初只是为了测试功能的方便写的,之后又删除了。所以再次用c++把这功能实现了一遍。在经历了多次编译失败和五次调试后(一次调试当前目录和父目录,三次调试字符串的处理,一次调试windows api的参数),总算生出下面这些东西来。。。
2010-05-04 14:50:00 479 2
原创 被十人围观后的怨念。。。
vs2010的广告打得不错,看得我内牛满面。。。。许久没有更新博客,今日 code review,作为新人。。。有幸被作为第一个上场。。。十人围观我那羞涩的代码。。。我承认。。。这份代码写得很糟。。。函数的划分。。资源的管理等等都不是我自己满意的。。 可惜。。。最终大家竟然对我缺陷视而不见。。。反而对一些其他地方提出了大量的颠覆我传统认知的宝贵意见。。。震惊了一个下午后。。。仔细回
2010-03-29 22:54:00 343 1
原创 kmp
出差期间,闲着无事,写了一个kmp的实现。事实上还真的从来没有写过kmp的实现,又想起当年去啥都不懂的时候去笔试kingsoft,最后一道就是写一个kmp的实现。想想时间过得也够快的了。。。。不多唠叨。。。贴上代码。。。。const char * cmp_test(const char * l_str, const char * pattern){ assert(l_
2009-12-08 14:02:00 254
原创 heap sort
最近也是纯当练手。。。。又再写写堆排序。。。。多数书中总是把堆排序和优先队列放在一起讲。。。。在Robert Sedgewick的书中说了。。。除了联接操作。。。。基于数组存储的堆在多种操作中的综合效率还是很不错的。。。。当然。。。还有一些数据结构能使联接操作的效率也靠近最优。。。。这个以后再补上吧。。。。 template void make_heap(T
2009-08-13 21:54:00 281
原创 quick sort
今天尝试写了一下快速排序。在排序算法中,快排应该算是被用得比较多的了。快排的算法很简单,在平均情况下是O(NlgN),在最坏情况下则会可能是O(N*N),这些概念都被很多书写得烂了。因此,对于快排的改进主要在于尽量消除最坏情况的出现上。 /** /brief quick sort function */ template extern vo
2009-08-06 22:10:00 270
原创 binary search的积累
最近重新开始看算法,读着牛人的老师的书,收获颇多。二分搜索一直没有去注意太多,认为实现起来很简单。其实不然,其中却有很多足以细细品味斟酌之处。尝试着写了一下,针对有相同元素的,能找到第一个和最后一个。 int binary_search_first(int t, int * x, size_t begin, size_t end){ size_t l = begin
2009-08-04 22:29:00 303
原创 山寨log window
仔细看了一下。。。许久没有更新这里了。。。多数时间是写网易那个。。。荒废了这里也不好。。。 一直在公司用同事写的log窗口用惯了。。。回到家里发现没得用。。。还真是不习惯。。。现在实在是不大想调试。。。所以。。。还是秉着自己动手丰衣足食的方针。。。。自己写一个吧。。。 也是用mailslot。。。翻了一下API。。马上就动手写。。。因为想要一个能支持宽字符的。。。所以仿wi
2009-06-03 21:51:00 521
原创 数组与指针
今日被摆了一道,多级指针传参过程中丢失了数组信息。惭愧惭愧啊,仔细翻书,总算明白,所以在这里记下先。首先,c语言中只有一维数组,所谓的多维数组也是用一维数组来模拟的。其次,很多时候数组可以用指针操作的互换,但是数组并不等于指针。如下代码: void foo(char **** temp){ char * a[10][20] = {NULL}; // 这里a实际上是代表一个数
2008-07-15 21:55:00 303
原创 overload,override,hide
老生常谈的话题了。。。。某日逛论坛,见到有人发帖询问关于虚函数重载的问题,贴有代码询问问题所在。仔细一看,一时之间竟说不出个所以然来,看来也是最近一心看java看太多了。询问同事后,想起以前看过相关的知识,于是重新翻出书来看了一下,总算找会记忆。所以在此记下。 重载(overload)同一个作用域内定义同一名字的另一个函数,但是有着不同的参数个数或参数类型(不同的返回类
2008-06-15 23:15:00 611 1
原创 关于unicode、utf8、utf16、gb2312和GBK的一些理解
新鲜博客第一篇。。。哈哈。。。延续了网易博客上的书写习惯。。。 说正题了。。。。先从最简单的说起。。。ASCII码。。。大家都知道的了。。。用7位的编码如果只是代表英文字母和标点符号。。。还是可以的。。。。但是如果想要表达汉字或者其他字符。。。就远远不够了。。。因此就出现了很多其他的编码。。。如下。。。。。(1)为了处理汉字,于是出现了用于简体中文的GB2312和用于繁体中文的bi
2008-04-11 22:41:00 737
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人