摘要:
C++标准规定了每个算算术类型的最小存储空间,但是并不阻止编译器使用更大的存储空间。整形中的问题:C++标准并未规定signed类型如何用位来表示,而是由编译器自由决定如何表示signed类型。当我们把一个超出类型表示范围的值赋值给指定类型的对象时:最终的取值取决于这种类型是signed还是unsigned的。1、如果是unsigned类型,则对该值取该类型表示范围的模,将该值赋值给这个类型对象。负数总是超出其取值范围,所以unsigned类型是不可能保存负数的。C++中将负数赋值给unsigned是合法的,其结果是对该负数对该类型的取值个数取模后的值。-1赋值给unsigned char , 阅读全文
摘要:
HashTable算法概要:哈希表示表示集合和字典的另外一种有效的方法,通过将关键码映射到表中某个位置来存储元素,然后根据关键码用同样的方式直接访问。1、有限的连续地址,可以用数组来表示。2、Hash函数采用除留余数法。3、处理冲突的方法,用开放地址法,实现线性探测再散列法,二次探测再散列法,随即探测再散列法,后两种方法有一些对条件的限制。4、给定一系列的键值,分配一个数组,用哈希函数处理地址,在哈希函数中调用冲突处理函数。5、查找函数。哈希表的类定义代码如下:class HashT{public: HashT(){} //构造函数 ~HashT(){} //析构函数 //哈希函数 ... 阅读全文