03 2012 档案

摘要:排序是计算机应用中的一个非常重要的操作。平常我们总会听到一些算法,但是我们总是似懂非懂的写着代码,今天我将一般常见的排序算法进行一个总结。本次总结只涉及内部排序(所谓内部排序是指在内存中进行的排序)首先说一个概念:稳定排序与非稳定排序如果一个序列中原来相同的元素,排序完成后,仍然保持着原来的顺序,那么就成为稳定排序,反之就是非稳定排序。 插入排序 (1).直接插入排序(Straiht Insertion Sort) 算法描述:如果有一个已经排好序的序列 {R(20),R(35),R(88)},当要插入一个R(66)时,需要与各... 阅读全文
posted @ 2012-03-23 18:20 雪狼的程序故事 阅读(4661) 评论(2) 推荐(2)
摘要:今天在stackoverflow上看到有一个这样提问说下面这段程序第二个输出语句有问题#include <stdio.h>#include <stdlib.h>#include <string.h>class C {public: char* s; C(char* s_) { s=(char *)calloc(strlen(s_)+1,1); strcpy(s,s_); }; ~C() { free(s); };};void func(C c) {};void main() { C o="hello"; pri... 阅读全文
posted @ 2012-03-10 00:36 雪狼的程序故事 阅读(1435) 评论(5) 推荐(1)
摘要:今天看完了set,multimap,multiset关联容器,回顾一下:首先set容器与map不同的是set中value_type类型不是pair类型,而是key_type类型,没有了与map对应的mapped_type,与map不同的还有不支持下标操作。set容器由于只有键值,所以适合作为排除集使用。multimap 与 multiset顾名思义,是多值的map容器与set容器,也就是一个键值对应多个值。对于multimap与multiset的删除操作,由于一个键对应多个项目,所以带有一个键参数的erase函数会删除跟这个键关联的所有元素。但是带有迭代器或迭代器范围的erase函数只会删除迭 阅读全文
posted @ 2012-03-08 14:51 雪狼的程序故事 阅读(2176) 评论(2) 推荐(3)
摘要:转载http://hi.baidu.com/%B3%CF%D5%F7id/blog/item/56b040fc9dad621a08244d21.htmlParser Generator的使用说明2010年05月13日 星期四 18:35parser generator的使用方法这里只以vc6.0为例,首先打开parser generator编辑器,选择Project->LibBuilder在LibBuilder对话框中选中Visual C++(32-bit),按属性键Properties后确以下设置Script file name.\Cpp\Script\msvc32.lbsNameVi 阅读全文
posted @ 2012-03-06 20:47 雪狼的程序故事 阅读(4184) 评论(0) 推荐(0)
摘要:Map容器,顾名思义,地图,是用来进行索引的一个容器。在定义Map容器之前,c++首先定义了一个pair类型,这个类型有两个参数pair<T1,T2>。 pair类型的对象通过点号(.)访问其成员(都是公有成员)first与second。 pair类型可以通过make_pair()函数来进行初始化。下面定义map类型的对象 map<string ,int> objmap;//这个语句定义了一个空的map对象,其中string类型的为索引,int类型的为其值。对于自定义类型作为键类型,特别要注意的是自定义类型必须定义<这个操作符。并且必须是严格弱排序。也即两个键比较 阅读全文
posted @ 2012-03-01 22:02 雪狼的程序故事 阅读(3489) 评论(0) 推荐(0)