华为面试大全

华为面试大全

ID:39584361

大小:31.50 KB

页数:8页

时间:2019-07-06

华为面试大全_第1页
华为面试大全_第2页
华为面试大全_第3页
华为面试大全_第4页
华为面试大全_第5页
资源描述:

《华为面试大全》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、华为全套完整试题高级题6、已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。slnodetype*Delete(slnodetype*Head,intkey){}中if(Head->number==key){Head=Pointer->next;free(Pointer);break;}Back=Pointer;Pointer=Pointer->next;if(Pointer->number==key){Back->next=Pointer->next;free(Pointer);break;}voiddel

2、ete(Node*p){if(Head=Node)while(p)}有一个16位的整数,每4位为一个数,写函数求他们的和。解释:整数1101010110110111和1101+0101+1011+0111感觉应该不难,当时对题理解的不是很清楚,所以写了一个函数,也不知道对不对。疑问:既然是16位的整数,1101010110110111是2进制的,那么函数参数怎么定义呢,请大虾指教。答案:用十进制做参数,计算时按二进制考虑。/*n就是16位的数,函数返回它的四个部分之和*/charSumOfQuaters(unsignedshortn){ch

3、arc=0;inti=4;do{c+=n&15;n=n>>4;}while(--i);returnc;}有1,2,....一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数.(华为)#includeintmain(){inta[]={10,6,9,5,2,8,4,7,1,3};intlen=sizeof(a)/sizeof(int);inttemp;for(inti=0;i

4、=temp;if(a[i]==i+1)i++;}for(intj=0;jnext;while(q!=NULL){r=q->next;q->next=p;p=q;q=r;}head->next=NULL;head=p

5、;returnhead;}2写出程序删除链表中的所有接点voiddel_all(node*head){node*p;while(head!=NULL){p=head->next;free(head);head=p;}cout<<"释放空间成功!"<

6、*p=*q;p++;q++;}*p='';}分析下面的代码:char*a="hello";char*b="hello";if(a==b)printf("YES");elseprintf("NO");这个简单的面试题目,我选输出no(对比的应该是指针地址吧),可在VC是YES在C是NOlz的呢,是一个常量字符串。位于静态存储区,它在程序生命期内恒定不变。如果编译器优化的话,会有可能a和b同时指向同一个hello的。则地址相同。如果编译器没有优化,那么就是两个不同的地址,则不同写一个函数,功能:完成内存之间的拷贝memcpysourceco

7、de:270void*memcpy(void*dst,constvoid*src,unsignedintlen)271{272registerchar*d;273registerchar*s;27275if(len==0)276returndst;277278if(is_overlap(dst,src,len,len))279complain3("memcpy",dst,src,len);280281if(dst>src){282d=(char*)dst+len-1;283s=(char*)src+len-1;284while(len>=4

8、){285*d--=*s--;286*d--=*s--;287*d--=*s--;288*d--=*s--;289len-=4;290}291while(len--){292*d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。