77范文网 - 专业文章范例文档资料分享平台

C和C++经典面试题(面试必备)(8)

来源:网络收集 时间:2019-04-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

//队列结点数 QueueLink Queue[10]; for( i = 0; i < 10; i++) {

CreateNullQueue( Queue[i]); //初始化队列数组 }

for( i = 0; i < LEN; i++) {

printf(\}

printf(\

Max = lenData( Array, LEN ); //计算数组中关键字的最大位数 printf(\18

for(int j = 0; j < Max; j++) //按位排序 {

if(j == 0) power = 1; else power = power *d; for(i = 0; i < LEN; i++) {

k = Array[i].data /power - (Array[i].data/(power * d)) * d; Push( Queue[k], Array[i] );

}

for(int l = 0, k = 0; l < d; l++) //排序后出队列重入数组 {

while( IsEmpty( Queue[l] ) ) {

Array[k++] = Pop( Queue[l] ); } }

for( int t = 0; t < LEN; t++) {

printf(\}

printf(\} return 0; }

说明:队列为基数排序的实现提供了很大的方便,适当的数据机构可以减少算法的复杂度,让更多

的算法实现更容易。 面试题 29:谈谈你对编程规范的理解或认识 编程规范可总结为:程序的可行性,可读性、可移植性以及可测试性。 说明: 这是编程规范的总纲目,面试者不一定要去背诵上面给出的那几个例子,应该去理解这几个

例子说明的问题,想一想,自己如何解决可行性、可读性、可移植性以及可测试性这几个问题,结合以

上几个例子和自己平时的编程习惯来回答这个问题。 面试题 30: short i = 0; i = i + 1L;这两句有错吗 代码一是错的,代码二是正确的。

说明:在数据安全的情况下大类型的数据向小类型的数据转换一定要显示的强制类型转换。 面试题 31: &&和&、 ||和|有什么区别 ( 1)&和|对操作数进行求值运算,&&和||只是判断逻辑关系。 19

( 2)&&和||在在判断左侧操作数就能确定结果的情况下就不再对右侧操作数求值。

注意:在编程的时候有些时候将&&或||替换成&或|没有出错,但是其逻辑是错误的,可能会导致不

可预想的后果(比如当两个操作数一个是 1 另一个是 2 时)。 面试题 32: C++的引用和 C 语言的指针有什么区别 指针和引用主要有以下区别:

( 1)引用必须被初始化,但是不分配存储空间。指针不声明时初始化,在初始化的时候需要分配 存储空间。

( 2)引用初始化以后不能被改变,指针可以改变所指的对象。 ( 3)不存在指向空值的引用,但是存在指向空值的指针。 注意:引用作为函数参数时,会引发一定的问题,因为让引用作参数,

目的就是想改变这个引用所

指向地址的内容,而函数调用时传入的是实参,看不出函数的参数是正常变量,还是引用,因此可能会 引发错误。所以使用时一定要小心谨慎。

面试题 33: 在二元树中找出和为某一值的所有路径

输入一个整数和一棵二元树。从树的根结点开始往下访问,一直到叶结点所经过的所有结点形成一

条路径。打印出和与输入整数相等的所有路径。例如,输入整数 9 和如下二元树: 3 / \\ 2 6 / \\ 5 4

则打印出两条路径: 3, 6 和 3, 2, 4。 【答案】 typedef struct path {

BiTNode* tree; //结点数据成员 struct path* next; //结点指针成员 }PATH,*pPath; 初始化树的结点栈:

void init_path( pPath* L ) {

*L = ( pPath )malloc( sizeof( PATH ) ); //创建空树 ( *L )->next = NULL; }

树结点入栈函数:

void push_path(pPath H, pBTree T) {

pPath p = H->next; pPath q = H; while( NULL != p ) 20 { q = p; p = p->next; }

p = ( pPath )malloc( sizeof( PATH ) ); //申请新结点 p->next = NULL; //初始化新结点 p->tree = T;

q->next = p; //新结点入栈 }

树结点打印函数:

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C和C++经典面试题(面试必备)(8)在线全文阅读。

C和C++经典面试题(面试必备)(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/566115.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: