gpt4 book ai didi

java - java.util.LinkedList 中的 addFirst()

转载 作者:行者123 更新时间:2023-11-29 03:04:00 25 4
gpt4 key购买 nike

这是作业。

我正在使用链表制作堆栈。我选择使用 Java 的 java.util.LinkedList 包中的链表。当我在主类中调用 addFirst() 方法时,程序无法完成。它就像一个无限循环,但据我所知不涉及任何循环。这是代码:

package assignment3;

import java.util.LinkedList;

/**
*
* @author Eric
*/
public class LinkedListStack<T> {

LinkedList linkedList = new LinkedList();


public boolean isEmpty() {
if (linkedList.isEmpty()) {
return true;
} else {
return false;
}
}


public int size() {
int size = linkedList.size();

System.out.println("The size of the stack is " + size);

return size;
}

// This is the problem method.
public void push(T element) {

linkedList.addFirst(element);
}


public void pop() {
while(!linkedList.isEmpty()){
linkedList.removeFirst();
}
}


public void peek() {
while(!linkedList.isEmpty()){
linkedList.peek();
}

System.out.println("The first element in the stack is " + linkedList.peek());
}

}

这是调用 push() 方法的 Main 类。

package assignment3;

/**
*
* @author Eric
*/
public class Main {
public static void main(String args[]) {
LinkedListStack linkedListStack = new LinkedListStack();

linkedListStack.push(1); // This never finishes.
linkedListStack.peek();
linkedListStack.size();
}

}

测试 LinkedListStack.java 非常困难,因为我无法将任何内容压入堆栈。我不知道出了什么问题。

最佳答案

   while(!linkedList.isEmpty()){
linkedList.peek();
}

peek() 永远不会将链表从非空更改为空,因为它不会更改列表。

but as far as I know there are no loops involved

你认为 while 是什么?

关于java - java.util.LinkedList 中的 addFirst(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33136205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com