G****A 发帖数: 4160 | 1 从CSDN下载的CareerCup 150。2008版,4th版都有。结果看了几行,发现里面的code很
多错的,即使不错,看起来也很别扭。怎么回事啊?
比如,create a linkedList,它给的code:
--------------------
class Node {
Node next = null;
int data;
public Node(int d) { data = d; }
void appendToTail(int d) {
Node end = new Node(d);
Node n = this;
while (n.next != null) { n = n.next; }
n.next = end;
}
}
--------------------
下面是Algorithm in C++里的code:
----------------
struct node
{ Item item; node *next;
node (Item x; node *t)
{ item = x; next = t; };
};
typedef node *link;
----------------- |
P**********c 发帖数: 3417 | 2 没觉得这个code有什么问题,只不过它是用java写的,可以直接对data member赋初值
。然后多了一个function.
【在 G****A 的大作中提到】 : 从CSDN下载的CareerCup 150。2008版,4th版都有。结果看了几行,发现里面的code很 : 多错的,即使不错,看起来也很别扭。怎么回事啊? : 比如,create a linkedList,它给的code: : -------------------- : class Node { : Node next = null; : int data; : public Node(int d) { data = d; } : void appendToTail(int d) { : Node end = new Node(d);
|
l******l 发帖数: 66 | 3 While CareerCup does have bugs in its codes, but I don't see anything wrong
with the linked list code above, it just presents it in a different way. |
G****A 发帖数: 4160 | 4 谢谢大家的回答。
我不太明白为什么Node class里面需要appendToTail这个function.
从O-O设计概念来讲,appendToTail难道不应该是List Class(liked nodes)的member
function么?
【在 P**********c 的大作中提到】 : 没觉得这个code有什么问题,只不过它是用java写的,可以直接对data member赋初值 : 。然后多了一个function.
|
A*****i 发帖数: 3587 | 5 那个链表是用JAVA写的,完全正确
因为java没有结构体,所以那个类就是链表插入的类,你可以在里面加上delete或者
reverse都可以,建议好好看看java再看这个150题,大部分都是用java写的 |
P**********c 发帖数: 3417 | 6 这个没必要这么死抠吧。给你一个linkedlist, 在任意节点你都可以append to tail,
不是很好吗。
【在 G****A 的大作中提到】 : 谢谢大家的回答。 : 我不太明白为什么Node class里面需要appendToTail这个function. : 从O-O设计概念来讲,appendToTail难道不应该是List Class(liked nodes)的member : function么?
|
G****A 发帖数: 4160 | 7 o,原来这样。
对java不熟悉。谢谢大家
【在 A*****i 的大作中提到】 : 那个链表是用JAVA写的,完全正确 : 因为java没有结构体,所以那个类就是链表插入的类,你可以在里面加上delete或者 : reverse都可以,建议好好看看java再看这个150题,大部分都是用java写的
|
G****A 发帖数: 4160 | 8 看似flexible,其实很不好。
,
【在 P**********c 的大作中提到】 : 这个没必要这么死抠吧。给你一个linkedlist, 在任意节点你都可以append to tail, : 不是很好吗。
|
f*******t 发帖数: 7549 | 9 没什么不好吧,实在看不顺眼的话,你在面试的时候如果碰到就写个static method呗
,又没什么大不了的事。
public static void appendToTail(Node node, int newData);
效果完全一样,只要有任一节点的ref,就可以在最后插入一个新节点。
【在 G****A 的大作中提到】 : 看似flexible,其实很不好。 : : ,
|