C/C++
文章平均质量分 83
MonkeyAndy
这个作者很懒,什么都没留下…
展开
-
结构体大小及其数据的对其原则
结构体数据成员的对其原则结构体默认的字节对齐一般满足三个准则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自身大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加原创 2012-05-12 21:34:28 · 440 阅读 · 1 评论 -
c中数据类型的隐式转换规则
在C的运算中以下四种情况会发生数据类型的隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。 4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。原创 2012-09-04 09:52:53 · 1139 阅读 · 0 评论 -
[STL应用之使用 bitset 实现排序]
/××××××××××××××××××××××××××MonkeyAndy原创,转载请注明出处×××××××××××××××××××××××/http://blog.csdn.net/MonkeyAndy/××××××××××××××××××××××××××MonkeyAndy原创,转载请注明出处×××××××××××××××××××××××/没有最好只有更好,如您有更原创 2012-08-21 20:45:40 · 569 阅读 · 0 评论 -
【字典树的应用之】百度2012实习生校园招聘笔试题
/--------MonkeyAndy原创,转载请注明出处-----------/http://blog.csdn.net/MonkeyAndy/--------MonkeyAndy原创,转载请注明出处--------------/学习了字典树后想起百度的笔试题可以使用这个方法解决,写下与大家分享,欢迎批评指正,共同进步题目描述:给一个单词a,如果通过交换单词中原创 2012-06-01 11:01:01 · 1271 阅读 · 2 评论 -
Bit-map介绍及其应用
注:本文参考自 http://blog.csdn.net/v_JULY_v ,修正了其中的一些问题感谢原作者所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,原创 2012-07-30 21:47:25 · 551 阅读 · 0 评论 -
【组合问题的原理与其递归实现】
以在n个数中选取m(01. 首先从n个数中选取编号最大的数,然后在剩下的n-1个数里面选取m-1个数,直到从n-(m-1)个数中选取1个数为止。2. 从n个数中选取编号次小的一个数,继续执行1步,直到当前可选编号最大的数为m。很明显,上述方法是一个递归的过程,也就是说用递归的方法可以很干净利索地求得所有组合。下面是递归方法的实现:/// 求从数组a[1..n]中任选m个元素的所转载 2012-07-16 11:34:44 · 536 阅读 · 1 评论 -
C++ 标准库 vector list map使用方法
List(链表)List将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.list对象函数assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器转载 2012-05-24 22:19:05 · 5049 阅读 · 1 评论 -
c++ volatile的用法
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1) 并行设备的硬件寄存器(如:状态寄存器) 2) 一个中断服务子程序中会访问到的非自动变量(Non-automa转载 2012-05-25 09:09:57 · 457 阅读 · 0 评论 -
求两个字符串的(连续的)最长公共子串
转载请注明出处http://blog.csdn.net/MonkeyAndy问题:给出两个字符串,求出这两个字符串的连续的最长公共子序列例如 : char* a="aocdfacddcdfe"; char* b="pmcdfacdfe";连续的最长公共子序列为 “cdfacd”问题分析:思路及算法流程:1、以a串为主串,遍历a串,记录下b串中与a[原创 2012-05-24 16:25:55 · 7449 阅读 · 0 评论 -
线性表顺序表示及合并算法
#define LIST_INIT_SIZE 100//线性表存储空间的初始分配量#define LISTINCREMENT 10//线性表存储空间的分配增量typedef struct{ ElemType *elem;//存储空间基址 int length; //当前长度 int listsize; //当前分配的存储容量(以sizeof(ElemType原创 2012-05-22 21:34:31 · 1065 阅读 · 1 评论 -
C++内存池(C++ Memory Pool)
/--------------------MonkeyAndy 翻译,转载请注明出处------------------------/http://blog.csdn.net/MonkeyAndy/--------------------MonkeyAndy 翻译,转载请注明出处------------------------/目录前言它的工作原理是什么?翻译 2012-06-07 10:48:14 · 1790 阅读 · 0 评论 -
全排列算法原理和其递归实现
全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3, 4, 5}为例说明如何编写全排列的递归算法。1、首先看最后两个数4, 5。 它们的全排列为4 5和5 4, 即以4开头的5的全排列和以5开头的4的全排列。由于一个数的全排列就是其本身,从而得到以上结果。2、再看后三个数3, 4, 5。它们的全排列为3 4 5、3 5 4、 4转载 2012-06-04 10:38:53 · 768 阅读 · 0 评论 -
【蓄水池抽样应用之】如何等概率的从N个元素中选取出K个元素
如何等概率的从N个元素中选取出K个元素?这个问题就是一个蓄水池抽样(Reservoir Sampling),算法可以如下描述: Init : a reservoir with the size: k for i= k+1 to N M=rand转载 2012-06-02 09:33:04 · 1116 阅读 · 0 评论 -
在一个字符串中找到第一个只出现一次的字符。
/***************************************copyright@ andy*http://blog.csdn.net/MonkeyAndy**************************************/题目描述:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。思路:用hash原创 2012-09-05 20:09:22 · 752 阅读 · 0 评论