今年网易最后一道C++笔试题是考了这样一道题目:C++的traits是什么机制,有什么用?请举例说明。
我没答上来,回来查了一下,才发现是和STL泛化编程相关的。从网上找来两篇候捷的大作一读,才有点明白。现在写下来,看我是否真的理解了。首先,我们来了解一下什么是泛化编程。
一般泛型编程时,比如我设计一个算法:
template<class I, class T> I find(I first, I end, T& value) { whi
1. 任意个数里找出最大的前10个
初始化一个十个数的数组(标记最小数),每次比较最小数,比最小数小就舍弃,比他大就替换最小数(替换后标记新的最小数,这里就不用排序了)。时间复杂度应该是o(N*K),用堆的话就是o(N * log(K))。
#include <stdlib.h
1. 编程: 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。
char * Revert(char * source) { int length = strlen(source); int n = 0; char c; for(int i = 0 ; i < (length/2); i ++) { c = source[i]; source[i] = source[length-1-i]; source[length-1-i] = c; } return source;
}
2. 编程: 用C语言实现函数void * memmove(void *dest,const void *src,size_t n)。memmove函数
1.PostMessage SendMessage和PostThreadMessage的区别是什么 SendMessage将指定的消息发送到一个窗口或多个窗口。SendMessage为这个指定的消息调用窗口处理程序,直到窗口处理完这个程序后才会返回。和SendMessage函数相比,PostMessage函数发送一个消息到线程消息对列中,并立即返回。
辨析:shuishi32 在给出翻译的还给对ddlddy的问题:“我用SendMessage(hWnd,WM_QUIT,NULL,NULL)和PostMessage(hWnd,WM_QUIT,NULL,NULL)去关闭一指定窗口,SendMessage的不能实现
1.题目描述: 设有n个正整数,将它们联接成一排,组成一个最小的多位整数。 程序输入:n个数 程序输出:联接成的多位数 例如: n=2时,2个整数32,321连接成的最小整数为:32132, n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355 [题目要求] 1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算法。 2. 给出算法的时间空间复杂度。 3. 证明你的算法。(非常重要)
[问题分析] 举例说明正常的字符串比较缺陷!