d****o 发帖数: 1055 | 1 今天去onsite一家公司。
一个小印,居然连c++ static的搞不清楚。我告诉他static variable belong to a
class instead of the object of a class. 他居然不相信。
而且我告诉他 insert a node into linkedlist 我们需要用两个指针
void insertnode(int data, node** head);
他非说是一个指针就可以。
我真服了。。。
遇到这种情况怎么办? |
y*******g 发帖数: 6599 | 2 insert为什么需要两个?
【在 d****o 的大作中提到】 : 今天去onsite一家公司。 : 一个小印,居然连c++ static的搞不清楚。我告诉他static variable belong to a : class instead of the object of a class. 他居然不相信。 : 而且我告诉他 insert a node into linkedlist 我们需要用两个指针 : void insertnode(int data, node** head); : 他非说是一个指针就可以。 : 我真服了。。。 : 遇到这种情况怎么办?
|
a*****d 发帖数: 4029 | 3 告诉他“I disagree 100% with what you said, but I will die defending your
right to see it”
【在 d****o 的大作中提到】 : 今天去onsite一家公司。 : 一个小印,居然连c++ static的搞不清楚。我告诉他static variable belong to a : class instead of the object of a class. 他居然不相信。 : 而且我告诉他 insert a node into linkedlist 我们需要用两个指针 : void insertnode(int data, node** head); : 他非说是一个指针就可以。 : 我真服了。。。 : 遇到这种情况怎么办?
|
z******w 发帖数: 36 | |
d****o 发帖数: 1055 | 5 因为他的链表的data是sorted的,所以有可能插入的时候会改变head。
而且吧,我最开始要求写的insert版本是不用输入head的,因为head已经在class里面
了,直接把head定义为一个static variable 就可以了。(这里就出了第一个问题,他
不懂static...,所以我就按照他说的,把head作为参数传入)
他非要输入head,我就写两个pointer,他说我错了。。。
【在 y*******g 的大作中提到】 : insert为什么需要两个?
|
d****o 发帖数: 1055 | 6 去看链表那一章,专门写了,写得很明白。
【在 z******w 的大作中提到】 : 同问为什么两个指针?
|
y*******g 发帖数: 6599 | 7 返回head就好了
【在 d****o 的大作中提到】 : 因为他的链表的data是sorted的,所以有可能插入的时候会改变head。 : 而且吧,我最开始要求写的insert版本是不用输入head的,因为head已经在class里面 : 了,直接把head定义为一个static variable 就可以了。(这里就出了第一个问题,他 : 不懂static...,所以我就按照他说的,把head作为参数传入) : 他非要输入head,我就写两个pointer,他说我错了。。。
|
y*******g 发帖数: 6599 | 8 head定义成static?
你怎么new 一个新的list?
【在 d****o 的大作中提到】 : 因为他的链表的data是sorted的,所以有可能插入的时候会改变head。 : 而且吧,我最开始要求写的insert版本是不用输入head的,因为head已经在class里面 : 了,直接把head定义为一个static variable 就可以了。(这里就出了第一个问题,他 : 不懂static...,所以我就按照他说的,把head作为参数传入) : 他非要输入head,我就写两个pointer,他说我错了。。。
|
i**********e 发帖数: 1145 | 9 面试官有可能不懂C,所以不了解pointer to pointer。
在C++里可以用 reference,
node *& head 传进去也可以。
head 如果定义在class里不应该是static吧。。 |
d****o 发帖数: 1055 | 10 node *& head 传进去也可以。(这个我也跟他说了,他也不懂。。。。。。)
因为一个node类只有一个head,所以如果你不定义为head,每新new 一个node,都会有一
个head生成,但是如果为static,只有一个head.所以就不用了。
【在 i**********e 的大作中提到】 : 面试官有可能不懂C,所以不了解pointer to pointer。 : 在C++里可以用 reference, : node *& head 传进去也可以。 : head 如果定义在class里不应该是static吧。。
|
|
|
a********m 发帖数: 15480 | 11 第一个也可能是没说清楚吧,static有好几种用法。
【在 d****o 的大作中提到】 : 今天去onsite一家公司。 : 一个小印,居然连c++ static的搞不清楚。我告诉他static variable belong to a : class instead of the object of a class. 他居然不相信。 : 而且我告诉他 insert a node into linkedlist 我们需要用两个指针 : void insertnode(int data, node** head); : 他非说是一个指针就可以。 : 我真服了。。。 : 遇到这种情况怎么办?
|
d****o 发帖数: 1055 | 12 不可能,我都把那句话写下来了,让他带回去查。。。他还是不相信。。。
http://www.cprogramming.com/tutorial/statickeyword.html
好好看一下
气死了。
【在 a********m 的大作中提到】 : 第一个也可能是没说清楚吧,static有好几种用法。
|
a********m 发帖数: 15480 | 13 。。。。。。你说两个指针俺还以为要双向链表,迷惑了半天。。。。。。
【在 d****o 的大作中提到】 : 因为他的链表的data是sorted的,所以有可能插入的时候会改变head。 : 而且吧,我最开始要求写的insert版本是不用输入head的,因为head已经在class里面 : 了,直接把head定义为一个static variable 就可以了。(这里就出了第一个问题,他 : 不懂static...,所以我就按照他说的,把head作为参数传入) : 他非要输入head,我就写两个pointer,他说我错了。。。
|
w**z 发帖数: 8232 | 14 很久以前,有个老印同事,用 Java所有的Method全是Static, 好歹也是Master,真
tmd服了他 |
v***n 发帖数: 5085 | |
y*******g 发帖数: 6599 | 16 一个node类只有一个head也是他提的要求?这接口真是鬼斧神工
【在 d****o 的大作中提到】 : node *& head 传进去也可以。(这个我也跟他说了,他也不懂。。。。。。) : 因为一个node类只有一个head,所以如果你不定义为head,每新new 一个node,都会有一 : 个head生成,但是如果为static,只有一个head.所以就不用了。
|
l*x 发帖数: 14021 | 17 head 难道不应该在linkedlist 类里吗? 为什么要在node里。
如果node里的head是static的,那不同lists里的node怎么办?
【在 d****o 的大作中提到】 : node *& head 传进去也可以。(这个我也跟他说了,他也不懂。。。。。。) : 因为一个node类只有一个head,所以如果你不定义为head,每新new 一个node,都会有一 : 个head生成,但是如果为static,只有一个head.所以就不用了。
|
q****x 发帖数: 7404 | 18
指针的指针,不是两个指针。而且可以用一个指针引用,更像C++。
【在 d****o 的大作中提到】 : 今天去onsite一家公司。 : 一个小印,居然连c++ static的搞不清楚。我告诉他static variable belong to a : class instead of the object of a class. 他居然不相信。 : 而且我告诉他 insert a node into linkedlist 我们需要用两个指针 : void insertnode(int data, node** head); : 他非说是一个指针就可以。 : 我真服了。。。 : 遇到这种情况怎么办?
|
q****x 发帖数: 7404 | 19 这是胡说。要声明多个链表咋办?
【在 d****o 的大作中提到】 : node *& head 传进去也可以。(这个我也跟他说了,他也不懂。。。。。。) : 因为一个node类只有一个head,所以如果你不定义为head,每新new 一个node,都会有一 : 个head生成,但是如果为static,只有一个head.所以就不用了。
|
d****o 发帖数: 1055 | 20 怎么会是胡说呢?如果用一个static variable,确实只有一个head。code我都实现了。
当然,你说的那种多个链表确实就不行了。但是这题里面要求也没有多个链表。。。他
也想我把head写在里面。
他其实就是不懂static和pointer of pointer.
【在 q****x 的大作中提到】 : 这是胡说。要声明多个链表咋办?
|
|
|
q****x 发帖数: 7404 | 21 你定义的类无法复用。
我建议你还是注意沟通。可能是双方想岔了。
【在 d****o 的大作中提到】 : 怎么会是胡说呢?如果用一个static variable,确实只有一个head。code我都实现了。 : 当然,你说的那种多个链表确实就不行了。但是这题里面要求也没有多个链表。。。他 : 也想我把head写在里面。 : 他其实就是不懂static和pointer of pointer.
|
P***P 发帖数: 1387 | |
d****o 发帖数: 1055 | 23 遇到连static都不会的,没法沟通。。。
他完全对pointer of pointer没有概念,怎么沟通?
【在 q****x 的大作中提到】 : 你定义的类无法复用。 : 我建议你还是注意沟通。可能是双方想岔了。
|
d****o 发帖数: 1055 | 24 确实,java还是少很多事啊。尤其是design的题目。。。容易很多。
可惜我语法不熟。还是c++吧。
【在 P***P 的大作中提到】 : 面试答题用java好点
|
q****x 发帖数: 7404 | 25 真如此,不去也罢。
【在 d****o 的大作中提到】 : 遇到连static都不会的,没法沟通。。。 : 他完全对pointer of pointer没有概念,怎么沟通?
|
c****p 发帖数: 6474 | 26 私以为多个node共享一个head确实不大好。
pointer of pointer 更偏C吧。C++不是都要尽量避免用pointer么。。。
【在 d****o 的大作中提到】 : 怎么会是胡说呢?如果用一个static variable,确实只有一个head。code我都实现了。 : 当然,你说的那种多个链表确实就不行了。但是这题里面要求也没有多个链表。。。他 : 也想我把head写在里面。 : 他其实就是不懂static和pointer of pointer.
|
H***e 发帖数: 476 | 27 要是真像你说的,
这公司你去了干吗?
跟他做同事么?嘿嘿 |
d****o 发帖数: 1055 | 28 挺好的保底公司,本来。有个offer在手也底气足些。
【在 q****x 的大作中提到】 : 真如此,不去也罢。
|
s******c 发帖数: 99 | 29 insert node到 head是需要两个*,但你可以返回head,这样一个指针就够了。如果不
是head,就一个*就行了
另外你返回void不好,最好返回bool或者int表示报错信息。 |
y*********m 发帖数: 33 | 30 LOL hahahhahahahahahhaha
【在 w**z 的大作中提到】 : 很久以前,有个老印同事,用 Java所有的Method全是Static, 好歹也是Master,真 : tmd服了他
|
|
|
l*x 发帖数: 14021 | 31 其实不嫌蛋疼的话,可以不改变head的位置。把新node仍插到head的后面,然后把head
的data考到新node里,再把要插的新data放到head里。
【在 s******c 的大作中提到】 : insert node到 head是需要两个*,但你可以返回head,这样一个指针就够了。如果不 : 是head,就一个*就行了 : 另外你返回void不好,最好返回bool或者int表示报错信息。
|
d****o 发帖数: 1055 | 32 对,
不过如果只用一个*
那么调用的时候要写成
head = insert(data,head);
有点儿奇怪哈。一般都是两个**,或者*&,看着舒服。
【在 s******c 的大作中提到】 : insert node到 head是需要两个*,但你可以返回head,这样一个指针就够了。如果不 : 是head,就一个*就行了 : 另外你返回void不好,最好返回bool或者int表示报错信息。
|
s******c 发帖数: 99 | 33 看你的id有点眼熟哈!你现在在哪个公司呀?想跳去哪呀?
【在 d****o 的大作中提到】 : 对, : 不过如果只用一个* : 那么调用的时候要写成 : head = insert(data,head); : 有点儿奇怪哈。一般都是两个**,或者*&,看着舒服。
|
d****o 发帖数: 1055 | 34 紫丁香?
【在 s******c 的大作中提到】 : 看你的id有点眼熟哈!你现在在哪个公司呀?想跳去哪呀?
|
s******c 发帖数: 99 | 35 嗯哪,就是紫丁香
【在 d****o 的大作中提到】 : 紫丁香?
|