补充之前中兴校招面试的问题(软件开发岗位)
2016-09-15 00:49
316 查看
补充一下之前中兴面试的时候的几个问题,再不不上来就要忘光了:
1、静态变量和全局变量的区别是什么?
(待我有了充分理解之后补充)
2、写一个在单链表尾部插入一个节点的函数。
这个题目面试的时候写完了觉得自己很自信,觉得写的很好,现在回忆到的现场写的程序大概是下面这样的。但是其实千疮百孔。
首先,正常在尾部插入节点的函数,应该是不会传递节点进去的,应该是只会把待插入的值告诉你,所以正常的函数声明应该是这样的
依照上面的这个安排,那么我们在进入函数找到位置之后,其实还应该要动态申请一个节点内存
然后,插入完成之后,要想想,为什么我能够找到链表的尾部,是因为我们通过判断尾部节点的指针是空的。那么我们插入完成一个节点完事儿之后屁股都不擦就走了吧!那不行,我们还应该把末尾节点的指针置为空,这样下一次别人来管理该链表的时候才能知道尾部节点在哪里
另外一个倒不是变成上面的问题,而是思路上的反应不快。回去和同学讨论这个编程题,我说
4000
了一句:“单链表只能插入到尾部啊,怎么可能在中间呢?”说出来才想起来,怎么不可能呢。闹了个大笑话。当然需要指导待插入节点的指针。
下面贴上自己认为是正确的代码片吧(还没有通过程序验证)
下面是在链表中间已知节点插入数值的程序
1、静态变量和全局变量的区别是什么?
(待我有了充分理解之后补充)
2、写一个在单链表尾部插入一个节点的函数。
这个题目面试的时候写完了觉得自己很自信,觉得写的很好,现在回忆到的现场写的程序大概是下面这样的。但是其实千疮百孔。
void insert_at_end(struct node* head,struct node* toInsert) { struct node * p; p = head; while(NULL != p->next) { p = p->next; } p->next = toInsrt; }
首先,正常在尾部插入节点的函数,应该是不会传递节点进去的,应该是只会把待插入的值告诉你,所以正常的函数声明应该是这样的
void insert_at_end(struct node * head,int val)(假设插入一个整型值),而不是上面的
void insert_at_end(struct node * head,struct node * dot)
依照上面的这个安排,那么我们在进入函数找到位置之后,其实还应该要动态申请一个节点内存
struct node * new_dot = (struct noede *)malloc(sizeof(struct node));
然后,插入完成之后,要想想,为什么我能够找到链表的尾部,是因为我们通过判断尾部节点的指针是空的。那么我们插入完成一个节点完事儿之后屁股都不擦就走了吧!那不行,我们还应该把末尾节点的指针置为空,这样下一次别人来管理该链表的时候才能知道尾部节点在哪里
另外一个倒不是变成上面的问题,而是思路上的反应不快。回去和同学讨论这个编程题,我说
4000
了一句:“单链表只能插入到尾部啊,怎么可能在中间呢?”说出来才想起来,怎么不可能呢。闹了个大笑话。当然需要指导待插入节点的指针。
下面贴上自己认为是正确的代码片吧(还没有通过程序验证)
void insert_at_end(struct node* head,int val_to_insert) { struct node * p; p = head; while(NULL != p->next) { p = p->next; } p->next = (struct node*)malloc(sizeof(struct node)); p = p->next; p->next = NULL; p->val = val_to_insert; }
下面是在链表中间已知节点插入数值的程序
void insert_here(struct node* here,int val_to_insert) { struct node * p1,p2; p1 = here->next; p2 = (struct node*)malloc(sizeof(struct node)); p2->val = val_to_insert; here->next = p2; if(NULL != p1) { p2->next = p1; } else { p2->next = NULL; } }
相关文章推荐
- 春节后找工作被面试的经历,好岗位分享给还在找工作中的软件开发爱好者们
- 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们
- 软件开发人员面试问题(经典)
- 春节后找工作被面试的经历,好岗位分享给还在找工作中的软件开发爱好者们
- [浙大网新易盛] 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们
- 2016年android应用开发岗位跳槽面试常问问题的总结
- 软件开发面试可能出现的问题
- 春节后面试别人的经历总结之二,好岗位分享给还在找工作中的软件开发爱好者们
- 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们【转】
- 春节后面试别人的经历总结之二,好岗位分享给还在找工作中的软件开发爱好者们
- 软件开发人员面试问题总结
- 春节后面试别人的经历总结之二,好岗位分享给还在找工作中的软件开发爱好者们
- 春节后找工作被面试的经历,好岗位分享给还在找工作中的软件开发爱好者们
- 春节后面试别人的经历总结之二,好岗位分享给还在找工作中的软件开发爱好者们【转】
- 软件开发人员的简单面试问题
- 搜狐校园招聘软件开发岗位java面试回忆
- 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们
- 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们
- 春节后找工作被面试的经历,好岗位分享给还在找工作中的软件开发爱好者们
- 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们