什么字符串在堆栈的顶部,什么字符串在堆栈的底部

时间:2019-10-09 07:09:15

标签: java linked-list queue

使用界面中包含的以下5种不同方法:

add(newEntry):将新条目添加到队列的后面

remove():删除并返回队列的最前面的条目

peek():在不更改队列的情况下检索队列的顶部条目


队列myQueue = new LinkedList();

myQueue.add( “Jane” ); 
myQueue.add( “Jess” ); 
myQueue.add( “Jill” ); 
myQueue.add( myQueue.remove()); 
myQueue.add( myQueue.peek()); 
myQueue.add( “Jim” ); 
String name = myQueue.remove(); 
myQueue.add( myQueue.peek());

我希望这些物品可以这样订购:

顶部/正面

吉尔

杰西

吉姆

吉尔

底部/后退

2 个答案:

答案 0 :(得分:0)

您的问题的标题与堆栈有关,但您的问题的内容与使用LinkedList实现的队列有关。堆栈和队列都是不同的数据结构,并且工作方式不同。假设您的意思是队列,那么执行这些操作后的正确顺序应为

吉尔->简->杰西->吉姆->吉尔

操作1 添加吉尔

Queue becomes - Jane

操作2 添加杰西

Queue becomes - Jane -> Jess

操作3 添加吉尔

Queue becomes - Jane -> Jess -> Jill

操作4 从Queue中删除第一个元素,并将其添加到末尾

Queue becomes - Jess -> Jill -> Jane

操作5 再次将第一个元素添加到队列中

Queue becomes - Jess -> Jill -> Jane -> Jess

操作6 添加吉姆

Queue becomes - Jess -> Jill -> Jane -> Jess -> Jim

操作7 删除第一个元素

Queue becomes -Jill -> Jane -> Jess -> Jim

操作8 再次将第一个元素添加到队列中

Queue becomes - Jill -> Jane -> Jess -> Jim -> Jill

答案 1 :(得分:0)

我已经测试了您的代码,一切正常。

首先,队列是这样的

 Jane -> Jess -> Jill

然后我们删除顶部,然后将其添加到底部

 jesss -> jill -> jane

然后将顶部添加到底部

 jess -> jill ->jane -> jess

然后将jim添加到底部

 jess -> jill ->jane -> jess -> jim

然后我们删除顶部

 jill ->jane -> jess -> jim

然后将顶部添加到底部

 jill ->jane -> jess -> jim -> jill