电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

程序员面试精选VIP免费

程序员面试精选_第1页
1/24
程序员面试精选_第2页
2/24
程序员面试精选_第3页
3/24
程序员经典1双向链表的查找节点。考点:双向链表的操作出现频率:★★★★解析:使用right指针遍历,直至找到数据为data的节点,如果找到节点,返回节点,否则返回NULL。1//查找节点,成功则返回满足条件的节点指针,否则返回NULL2DbNode*FindNode(DbNode*head,intdata)//参数1是链表的表头节点3{//参数2是要查找的节点,其数据为data4DbNode*pnode=head;56if(head==NULL)//链表为空时返回NULL7{8returnNULL;9}1011/*找到数据或者到达链表末尾退出while循环*/12while(pnode->right!=NULL&&pnode->data!=data)13{14pnode=pnode->right;//使用right指针遍历15}1617//没有找到数据为data的节点,返回NULL18if(pnode->right==NULL)19{20returnNULL;21}2223returnpnode;24}2考点:模板的特化的理解出现频率:★★★解析:模板的特化(templatespecialization)分为两类:函数模板的特化和类模板的特化。(1)函数模板的特化:当函数模板需要对某些类型进行特别处理,称为函数模板的特化。例如:1boolIsEqual(Tt1,Tt2)2{3returnt1==t2;4}56intmain()7{8charstr1[]="Hello";9charstr2[]="Hello";10cout<2boolIsEqual(char*t1,char*t2)//函数模板特化3{4returnstrcmp(t1,t2)==0;5}这样,当IsEqual函数的参数类型为char*时,就会调用IsEqual特化的版本,而不会再由函数模板实例化。(2)类模板的特化:与函数模板类似,当类模板内需要对某些类型进行特别处理时,使用类模板的特化。例如:1template2classcompare3{4public:5boolIsEqual(Tt1,Tt2)6{7returnt1==t2;8}9};1011intmain()12{13charstr1[]="Hello";14charstr2[]="Hello";15comparec1;16comparec2;17cout<2classcompare//特化(char*)3{4public:5boolIsEqual(char*t1,char*t2)6{7returnstrcmp(t1,t2)==0;//使用strcmp比较字符串8}9};注意:进行类模板的特化时,需要特化所有的成员变量及成员函数。3考点:双向链表的操作出现频率:★★★★解析:与测长的方法一样,使用right指针进行遍历。1//打印整个链表2voidPrintList(DbNode*head)//参数为链表的表头节点3{4DbNode*pnode=NULL;56if(head==NULL)//head为NULL表示链表空7{8return;9}10pnode=head;11while(pnode!=NULL)12{13printf("%d",pnode->data);14pnode=pnode->right;//使用right指针遍历15}16printf("");17}4考点:类模板的实例化的理解出现频率:★★★★1template2classArray{3…4};5voidfoo()6{7Arrayarr1;8Arrayarr4,arr5;9Arrayarr2,arr3;10Arrayarr6;11…12}HowmanyinstancesofthetemplateclassArraywillgetinstantiatedinsidethefunctionfoo()A3B6C4D1解析:模板类(templateclass)的实例个数是由类型参数的种类决定的。代码7行和9行实例化的模板类都是Array,代码8行实例化的模板类是Array,代码10行实例化的模板类是Array。一共是三个实例。答案:A5考点:双向链表的操作出现频率:★★★★解析:为了得到双向链表的长度,需要使用right指针进行遍历,直到得到NULL为止。1//获取链表的长度2intGetLength(DbNode*head)//参数为链表的表头节点3{4intcount=1;5DbNode*pnode=NULL;67if(head==NULL)//head为NULL表示链表空8{9return0;10}11pnode=head->right;12while(pnode!=NULL)13{14pnode=pnode->right;//使用right指针遍历15count++;16}1718returncount;19}更多精彩内容,请到“融智技术学苑rzchin...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

程序员面试精选

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部