Redian新闻
>
请教一个Queue实现的问题
avatar
请教一个Queue实现的问题# Java - 爪哇娇娃
I*k
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;
}
avatar
g*g
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?

avatar
m*r
3
对呀. 这个不许用java的api是个什么鬼requirement. 难道Object不是java api里面
的类?

【在 g*****g 的大作中提到】
: Java是Open source的,你把Java LinkedList的实现,
: 去掉不需要的方法,就差不多了。

avatar
I*k
4
我看了linkedlist的源代码,不能那么做,因为Linkedlist是extends和implement一堆
其它的api的,这个是要求什么api也不能用,而且还要thread safe

【在 g*****g 的大作中提到】
: Java是Open source的,你把Java LinkedList的实现,
: 去掉不需要的方法,就差不多了。

avatar
I*k
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里面
: 的类?

avatar
g*g
6
做作业都不会想变通,你不会把extends的父类方法烤下来?
把ConcurrentLinkedQueue里不需要的东西删掉就完了。

【在 I***k 的大作中提到】
: 我看了linkedlist的源代码,不能那么做,因为Linkedlist是extends和implement一堆
: 其它的api的,这个是要求什么api也不能用,而且还要thread safe

avatar
g*e
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.
: */

avatar
h*0
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?

avatar
h*0
9
作业题吧。

【在 m****r 的大作中提到】
: 对呀. 这个不许用java的api是个什么鬼requirement. 难道Object不是java api里面
: 的类?

avatar
h*0
10
教人偷懒啊……新手自己想想实现了应该更有帮助吧。老鸟读源码抄才有意义。

【在 g*****g 的大作中提到】
: 做作业都不会想变通,你不会把extends的父类方法烤下来?
: 把ConcurrentLinkedQueue里不需要的东西删掉就完了。

avatar
u*e
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.
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。