
面试题
文章平均质量分 90
zhouzhenhe2008
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常见的C++面试题之String类
#include class String{public: String(); String(const char* pchData); String(const String &StringOther); String & operator = (const String &StringOther); ~ String(); void print();private: c原创 2017-06-15 20:14:38 · 359 阅读 · 0 评论 -
inet_addr()和htonl()结合使用引发的connect()超时
Tcp通信使用的是网络字节序,所以一般都需要htonl()把ip地址转换成网络字节序,但如果ip已经是网络字节序了,再调用htonl就会导致不再是网络字节序了,引发严重后果,就是connect或者使用了一个相反的ip上代码服务端:#include #include #include #include /* See NOTES */#include #inclu原创 2017-07-19 10:35:37 · 3303 阅读 · 0 评论 -
linux poll函数的使用
在网络编程中,Linux的poll函数跟select一样,可以处理多路复用。可以通过设置关注的描述符事件,灵活等待事件的到来。 #include int poll(struct pollfd *fds, nfds_t nfds, int timeout); (1)参数fds是pollfd结构体指针,可以指向一个结构体数组 struc原创 2017-07-22 21:49:49 · 13714 阅读 · 0 评论 -
哈希表的概念及作用
http://www.cnblogs.com/21dacia/articles/1403006.html一、哈希表的概念及作用一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。理想的情况是能直接转载 2017-08-01 10:15:11 · 1574 阅读 · 0 评论 -
算法总结:判断一个数是否为素数
1.约定x%y为x取模y,即x除以y所得的余数,当x象都为整数。x^y表示x的y次方。乘方运算的优先级高于乘除和取模,加减的优先级最低。见到x^y/z这样,就先算乘方,再算除法。A/B,称为A除以B,也称为B除A。若A%B=0,即称为A可以被B整除,也称B可以整除A。A*B表示A乘以B或称A乘B,B乘A,B乘以A……都一样。复习一下小学数学公因数:两个不转载 2017-08-01 11:36:37 · 1133 阅读 · 0 评论 -
简单修改core的后缀名及路径
echo "/tmp/core-%e-%p" > /proc/sys/kernel/core_pattern本会话生成的core文件将以 "/tmp/core-程序名-进程号" 的形式生成使进程产生core(另外一个shell会话)root@ubuntu:~# ps -aux| grep a.outroot 16630 47.7 0.1 43320原创 2017-08-01 15:34:14 · 1118 阅读 · 0 评论 -
哈希函数的构造及注意事项
哈希表的主要作用其实就是处理数据的映射,把数据转换为更方便,更容易处理的数据。而映射就是就是一个函数,称之为哈希函数。 通常构造哈希函数需要考虑以下要点:(1)哈希函数的耗时时间(2)关键字的长度(3)哈希表的大小(4)关键字的分布情况(5)记录的查找频率 下面只介绍构造哈希函数最常用的方法也是很简单的方法:除留余数法取关键字被某个不大于哈希表表长m原创 2017-08-01 11:06:14 · 2264 阅读 · 0 评论 -
C++map删除多个元素的方法
比如的map。typedef std::map mapPeopleType;现在要求序号取余2为0 的成员。正确的方法:#include #include #include typedef std::map mapPeopleType;void for_each(mapPeopleType &PeopleMap){ mapPeopleType::it原创 2017-08-16 18:11:50 · 4846 阅读 · 0 评论 -
编程之美——寻找数组中最大的K个数
从别人的那里转过来,这种题目,其实就是需要使用分治方法编程之美上的寻找N个数中最大的前K数,给出了一种算法,我认为比较好:算法是这样写的: 假设N个数存储在数组S中,我们从数组S中随机选出一个元素X,把数组分为两部分Sa和Sb.Sa中的元素都大于X,Sb中的元素都小于X,这时,有两种可能性:1.Sa中元素的个数小于K,Sa中所有的数和Sb中最大的K-|Sa|个数(|S转载 2017-08-16 21:15:47 · 1800 阅读 · 0 评论 -
网络套接字编程基本api
网络层的IP可以惟一标识网络中的主机,而传输层的协议、端口这两个东西可以表示主机中的进程(也就是网络应用程序)。因此,通过IP、协议、端口号,可以标识网络的进程。 先说服务器这边吧(1)服务器根据地址的类型(属于ipv4还是ipv6等)、socket类型(比如TCP、UDP)去创建socket,创建出的套接字socket本质上也是个文件描述符。(2)服务器绑定IP地原创 2017-07-19 08:13:42 · 2788 阅读 · 0 评论 -
轻松搞定面试中的红黑树问题
版权所有,转载请注明出处,谢谢!http://blog.csdn.net/silangquan/article/details/18655795 连续两次面试都问到了红黑树,关键两次都没有答好,这次就完整地来学习整理一下。没有学习过红黑树的同学请参考:> Chapter 13 Red-Black Trees Chapter 14 Augmenting转载 2017-07-08 23:34:13 · 317 阅读 · 0 评论 -
查找(一)史上最简单清晰的红黑树讲解
http://blog.csdn.net/yang_yulei/article/details/26066409查找(一)我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任转载 2017-07-08 23:27:16 · 342 阅读 · 0 评论 -
mstar面试题 文件目录中有升级包SOFT001.bin,SOFT002.bin,002比001的版本要新,如何写程序识别出最新的升级包。
面试题文件目录中有升级包SOFT001.bin,SOFT002.bin,002比001的版本要新,如何写程序识别出最新的升级包。#include #include #include #include #define SOFT_STR "SOFT"int get_version_num_by_filename(const char *filename,int *pnVer原创 2017-06-06 23:46:02 · 693 阅读 · 0 评论 -
mstar面试题:把tv和radio节目排序,tv放前面,radio放后面。 节目类型相同的按频点又低到高排序
面试题:把tv和radio节目排序,tv放前面,radio放后面。 节目类型相同的按频点又低到高排序#include #include #include #include //排序算法实现由低到高排序//同时广播Radio节目放后面,TV节目放前面#define TV 0#define Radio 1typedef struct stb_service原创 2017-06-06 23:43:12 · 1615 阅读 · 0 评论 -
C++面试题汇总(1)(不断更新)
1.memcpy针对32位系统的优化//使用int*指针拷贝前面4倍数的字节,剩下的用char*指针拷贝#include #include #include #include #include void * memcpy_my(void *dest, void *src, size_t n){ void *pTmp = NULL; int len = 0; i原创 2017-07-11 22:19:29 · 270 阅读 · 0 评论 -
[编程题] 微信红包
时间限制:3秒空间限制:32768K春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。测试样例:[1,2,3,2,2],5返回:2原创 2017-07-12 21:27:03 · 715 阅读 · 0 评论 -
字节序大端和小端的理解
根据处理器的不同,字节序分为大端和小端。所谓大端,就是高字节的数据存放在低地址的内存地址,低字节的数据存放在高地址的内存地址。所谓小端,就是高字节的数据存放在高地址的内存地址,低字节的数据存放在低地址的内存地址。 大端如图示例:小端如图示例:如何写一个C语言程序识别目前机器是大端还是小端?#include原创 2017-07-13 20:51:27 · 534 阅读 · 0 评论 -
C++类的静态变量成员和静态成员函数的使用
1 类的静态成员变量当类的一个成员变量被声明为static类型时,该成员变量就是类的静态变量,属于类的所有实例。也就是说类的静态变量是类的所有该类实例的全局变量。 静态成员变量的初始化,与其他变量的初始化很不一样,静态成员需要在类外初始化,形式如下: 静态变量的类型> 类名> :: 类的静态成员变量名> 初始化值> 比如类Animal有私有静态成员st原创 2017-07-13 20:58:41 · 8653 阅读 · 2 评论 -
使用epoll模型
epoll模型可以说是select模型和poll模型的升级版,但epoll要求在linux内核版本2.6以上。相对于,select和poll来说,epoll更加灵活,没有描述符限制。相比于select和poll,epoll不会因为监听的描述符数目变多而导致轮询过多(耗时太多),不会因为fd的数目增大而降低响应效率。 另外,对于select的最大描述符,linux会有限制,在linux/原创 2017-07-29 19:46:09 · 512 阅读 · 0 评论 -
select的使用及缺陷
使用select多路复用模型,可以显著提高服务器的处理能力。select可以指定关心的描述符集以及关心这些描述符事件(可读、可写、异常),愿意等多久。 select函数的原型 /* According to POSIX.1-2001 */ #include /* According to earlier standar原创 2017-07-21 09:00:30 · 4192 阅读 · 0 评论 -
C++ STL Map的创建、删除、插入、更新、遍历
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。map的实现是一颗红黑树,因此,map的内部键的数据都是排好序的,查找和删除、插入的效率都是lgN。map的本质其实就是映射,键值(key-value)一一对应。比如身份证号(key)和姓名(value)一一对应,map的定义格式:std::map 变量;原创 2017-08-03 20:32:35 · 52979 阅读 · 1 评论