- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
已知:无序数组,折半查找,各元素值唯一。函数原型是:Binary_Seach(int array[], int iValue, int iCount)array是数组,在里面用折半查找的方法找等于iValue的值,找到返回1否则0,iCount是元素个数,如何做呢?
?
把插入排序和折半查找一起做:
/**
* 无序数组,折半查找,各元素值唯一。
*/
int Binary_Seach(int array[], int iValue, int iCount)
{
int i,low,high,tmp,m,j;
for(i = 2;i = iCount;++i) {
tmp = array[i];
low = 1; high = i-1;
while(low = high) {
m = (low+high)/2;
if(array[m] == iValue) return 1;
if(array[m] = tmp) low = m+1;
else high = m-1;
}
for(j = i-1;j = high+1;--j) array[j+1] = array[j];
array[high+1] = tmp;
}
return 0;
}
Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?
OSI参考模型
TCP/IP协议
TCP/IP模型
应用层
FTP
Telnet
SMTP
NFS
SNMP
应用层
表示层
会话层
传输层
TCP UDP
传输层
网络层
IP
ICMP
ARP RARP
网际层
数据链路层
EthernetIEEE 802.3
FDDI
Token-RingIEEE 802.5
ARCnet
PPP/SLIP
网络接口层
物理层
硬件层
Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?
Internet Protocol协议是为跨越局域网和广域网环境的大规模互联网络而设计的世界标准的协议组。IP协议工作在第三层,主要用于实现连接到互联网上的结点之间的通信。
Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
交换机工作在数据链路层,按数据包中的MAC地址进行数据转发,当交换机收到一个以太网帧后在其内存地址表中查找相应的MAC地址,然后将数据帧转发到该地址对应的网络端口,如果没有找到该MAC地址,则将数据包转发到所有端口,拥有该MAC的网卡收到该帧后,立即作出应答,从而使交换机将其MAC地址加入地址表中。
路由器工作在OSI模型中的第三层,即网络层。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的数据先被送到路由器,再由路由器转发出去。
Q4:请问C++的class和C里面的struct有什么区别?
在C++中,struct等于class,只有一个区别就是struct中默认成员是public,而C++中默认成员是private。在C中struct仅仅是一个内存块。
Q5:请讲一讲析构函数和虚函数的用法和作用?
? 析构函数格式 ~MyClass(){} MyClass是你所声明的类. ? 析构函数是在一个对象需要被销毁时,执行某个或一系列动作.? 虚函数就NB了,在类内部所需声明的函数前加关键字virtual,这个函数就成虚函数了.多态类全靠它了.? 虚函数可以在派生类中重新定义的,用基类指针来调用虚函数时,C++会根据指针指向对象的类型来确定调用函数的哪一个版本.多态类可以派生出很多不同的派生类,很好用.
Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?
? 老大这个是基础啊,首先变量是可以赋值的命名存储空间.再次变量的作用域是指变量在程序中的有效使用范围。全局变量指在函数外部所定义的变量,两个全局变量不能同名。局部变量是在函数内部定义的变量,在函数开始执行时,局部变量被生成了,并只能在该函数内部使用。当函数结束时,局部变量也随之消失。在函数内,一个名称只能代表一个变量,但是在另一个函数内,这个名称可代表另一个变量。? 当编译一个C++程序时,计算机的内存被分成了4个区域,一个包括程序的代码,一个包括所有的全局变量,一个是堆栈,还有一个是堆(heap)。? 全局变量存放
文档评论(0)