I***k 发帖数: 12 | 1 如果不能用任何java api,自己完全实现一个queue
public class Queue extends Object {
public Queue(){//TODO}
public Object get(){//TODO}
public void put(){//TODO}
}
怎么实现效率比较高?
我现在的想法是还需要实现另外一个链表,借助这个链表来做Queue,对么?这个链表
做成
Queue的inner class?
class Node {
private Object data;
private Node next;
} |
g*****g 发帖数: 34805 | 2 Java是Open source的,你把Java LinkedList的实现,
去掉不需要的方法,就差不多了。
【在 I***k 的大作中提到】 : 如果不能用任何java api,自己完全实现一个queue : public class Queue extends Object { : public Queue(){//TODO} : public Object get(){//TODO} : public void put(){//TODO} : } : 怎么实现效率比较高? : 我现在的想法是还需要实现另外一个链表,借助这个链表来做Queue,对么?这个链表 : 做成 : Queue的inner class?
|
m****r 发帖数: 6639 | 3 对呀. 这个不许用java的api是个什么鬼requirement. 难道Object不是java api里面
的类?
【在 g*****g 的大作中提到】 : Java是Open source的,你把Java LinkedList的实现, : 去掉不需要的方法,就差不多了。
|
I***k 发帖数: 12 | 4 我看了linkedlist的源代码,不能那么做,因为Linkedlist是extends和implement一堆
其它的api的,这个是要求什么api也不能用,而且还要thread safe
【在 g*****g 的大作中提到】 : Java是Open source的,你把Java LinkedList的实现, : 去掉不需要的方法,就差不多了。
|
I***k 发帖数: 12 | 5 哦,只用了Object……
要求是:
/* PS: Do not use any imports from the standard library. Else it
* would be way too easy using standard classes. ;-)
* Make sure the code works, is thread-safe, and is simple, clear and
* very readable. Please do not change any of the provided code.
*/
【在 m****r 的大作中提到】 : 对呀. 这个不许用java的api是个什么鬼requirement. 难道Object不是java api里面 : 的类?
|
g*****g 发帖数: 34805 | 6 做作业都不会想变通,你不会把extends的父类方法烤下来?
把ConcurrentLinkedQueue里不需要的东西删掉就完了。
【在 I***k 的大作中提到】 : 我看了linkedlist的源代码,不能那么做,因为Linkedlist是extends和implement一堆 : 其它的api的,这个是要求什么api也不能用,而且还要thread safe
|
g**e 发帖数: 6127 | 7 把作业题拿上来了?
【在 I***k 的大作中提到】 : 哦,只用了Object…… : 要求是: : /* PS: Do not use any imports from the standard library. Else it : * would be way too easy using standard classes. ;-) : * Make sure the code works, is thread-safe, and is simple, clear and : * very readable. Please do not change any of the provided code. : */
|
h*****0 发帖数: 4889 | 8 extends Object不用写……
【在 I***k 的大作中提到】 : 如果不能用任何java api,自己完全实现一个queue : public class Queue extends Object { : public Queue(){//TODO} : public Object get(){//TODO} : public void put(){//TODO} : } : 怎么实现效率比较高? : 我现在的想法是还需要实现另外一个链表,借助这个链表来做Queue,对么?这个链表 : 做成 : Queue的inner class?
|
h*****0 发帖数: 4889 | 9 作业题吧。
【在 m****r 的大作中提到】 : 对呀. 这个不许用java的api是个什么鬼requirement. 难道Object不是java api里面 : 的类?
|
h*****0 发帖数: 4889 | 10 教人偷懒啊……新手自己想想实现了应该更有帮助吧。老鸟读源码抄才有意义。
【在 g*****g 的大作中提到】 : 做作业都不会想变通,你不会把extends的父类方法烤下来? : 把ConcurrentLinkedQueue里不需要的东西删掉就完了。
|
u*e 发帖数: 965 | 11 when I took the data structure, os design, database system design courses,
java APIs are forbidden. Otherwise, It is cheating. So, I was going back to C, and wrote eveything myself.
Java aims to application development, not proper for these things. |