链接指示:extern “C”

C++程序有时需要调用其他语言编写的函数,最常见的是调用C语言编写的函数。像其他所有其他名字一样,其他语言中的函数名字也必须在C++中进行声明,并且该声明必须指定返回类型和形参列表。对于其他语言编写的函数...

C++中的重载、覆盖、隐藏?

首先说说概念上的区别 重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 重写(覆盖):是指子类重新定义父类虚函数的方法。这里有个需要注...

详解下C/C++中结构和联合

区别 Struct与Union主要有以下区别: 1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存...

switch()的相关注意事项

这是我编程中没有注意到的地方吗,可能是我习惯用case和if的方式代替switch。但是还是需要了解的。 在C/C++中,switch的参数类型只能是bool,(unsigned) char,(unsigned) int,(unsigned) long等整数类型,还有一...

100亿个数取出最大的10000个

题目:100亿个整数,求最大的1万个数,并说出算法的时间复杂度   思路: 如果把100亿个数全部读入内存,需要100 0000 0000 * 4B 大约40G的内存,这显然是不现实的。我们可以在内存中维护一个大小为10000的最小...

笔试面试题–反转字符串中的单词

写一个函数,将字符串翻转,翻转方式如下:“I am a student”反转成“student a am I”,不借助任何库函数。 思路: 先对整个字符进行反转,然后查找空格,再对用空格分割开的单词进行单词内的反转,然后就可以得到...

二分查找的递归和非递归实现

如果面试题要求在已排序的数组(或者部分排序的数组)中查找一个数字或者统计某个数字出现的次数,我们都可以考虑尝试二分查找算法。 二分查找的递归实现代码: int BinarySearch(int num,int array[],int low,...

哈夫曼树

一、哈夫曼树的概念和定义 定义哈夫曼树之前先说明几个与哈夫曼树有关的概念: 路径: 树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。 路径长度:路径上的分枝数目称作路径长度。 树的路径长...