2016笔试回忆

迅雷

1.sizeof一个类。

struct s1
{
char a[8];
};

struct s2
{
double d;
};

struct s3
{
s1 s;
char a;
};

struct s4
{
s2 s;
char a; 
};


sizeof s4会得到16.因为s2大小为8。因此对界为8的倍数。虽然只占了9个空间,但是sizeof还是16.而s3对界为1,所以为9


sizeof一个string在vs下得到的是28.


至于sizeof一个类。统计的是实例化后的东西。包含正常的数据。还有一个虚函数列表指针位置。虚函数列表。静态成员不在考虑范围内。

空类sizeof为1,就是没有数据成员。但是如果有虚函数,那么就会成为4.

如果是多重继承多个有虚函数的类。记住一个父类对应一个虚函数列表,都有对应的内存消耗哦。

http://blog.csdn.net/hairetz/article/details/4171769



sizeof(a=1)

a的值并不改变的。也就是这个等式是不运算的。


2.霍夫曼编码。

这个是一种变长编码,根据某些元素出现的频率进行编码。比如,a b c d分别出现,1,2,3,4次。那么先把ab合并一个树。然后合并后ab和为3,334,ab树和c再合并为一个树。最后在和d这个树合在一起。详细介绍可以看这篇文章。http://coolshell.cn/articles/7459.html

霍夫曼编码可以达到一个编码绝对不是另一个的头部。

3.希尔排序。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值