05 2013 档案
摘要:当所需的静态成员过多时,编写封装方法的工作量将非常巨大,在此种情况下,建议使用Singleton模式,将被调用类定义成普通类,然后使用Singleton将其变为全局唯一的对象进行调用。如原h+cpp下的定义如下:class A{public:type getMember(){return member;}static type member;//静态成员}采用singleton方式,实现代码可能如下(singleton实现请自行查阅相关文档)//实际实现类class Aprovider{public:type getMember(){return member;}type member;//变
阅读全文
摘要:插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:Void InsertSort(Node L[],int length){Int i...
阅读全文
摘要:1、const char *str = "test测试test";while(*str){ //这里只需要判断第一个字节大于0x80就行了,前提是输入的是合法的GBK字符串 //原因在于,如果第一个字节大于0x80,那么它必然和后面一个字节一起组成一个汉字 //所以就没有必要再去判断后面一个字节了 //再强调一下,前提条件是输入合法的GBK字符串 if(*str > 0x80) { // 汉字,计数器++ str += 2;//是汉字自然就该直接+2了 } else { str++; }}2、参看下面的字符串转换函数。 /** * 用getBytes(encoding
阅读全文
摘要:Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平...
阅读全文