我的链接列表打印为空白。有人可以解释我在这里缺少的东西。
class Linklist {
private Linklist first;
public int items;
public int itemLocation;
public int lastIndex = -1;
private final String[] list;
public Linklist nextlink;
//Link constructor
public Linklist(int totalItems) {
items = 0;
list = new String[totalItems];
}
public Linklist getNext()
{
return this.nextlink;
}
public void setNext(Linklist n)
{
nextlink = n;
}
public void insert (String item){
list[items] = item;
items++;
}
public void delete(String item){
int location = 0;
while(item.compareTo(list[location]) != 0)
location++;
list[location] = list[items -1];
items--;
}
public boolean doesExist (String item){
boolean search;
int location = 0;
boolean found = false;
search = (location < items);
while (search && !found)
{
if (item.compareTo(list[location])==0)
found = true;
else
{
location++;
search = (location<items);
}
}
return found;
}
public void printUnsortedlist(){
System.out.print("{" + list + "} ");
}
public void printList(){
Linklist currentLink = first;
System.out.print("List: ");
while(currentLink != null){
currentLink.printUnsortedlist();
currentLink = currentLink.getNext();
}
System.out.println("");
}
}
public class Unsortedlist{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Linklist list = new Linklist(9);
list.insert("Sun");
list.insert("Mercury");
list.insert("Venus");
list.insert("Earth");
list.insert("Mars");
list.insert("Jupiter");
list.insert("Neptune");
list.insert("Saturn");
list.insert("Uranus");
list.printList();
list.delete("Sun");
if(list.doesExist("Earth"))
System.out.println("Earth is in the list");
else
System.out.println("Earth does not exist!");
list.printList();
}
}
这是我的输出:
List:
Earth is in the list
List:
BUILD SUCCESSFUL (total time: 0 seconds)
当我整合size()
方法时,例如:
public int size(){
int currentSize = 0;
Linklist current = head;
while(current != null){
currentSize = currentSize + 1;
current = current.getNext();
}
return currentSize;
}
我将此作为输出:
{8} Earth is in the list
我的链接列表在那里,但无法弄清楚它为什么打印为空白。
答案 0 :(得分:0)
对于你的代码,一些地方让我更加困惑。
首先,为什么你已经有一个字段“列表”,但是你也设置了一个指向下一个链接的指针,如果你只想打印成一个列表,你只能设置两个字段String value
和{{ 1}},然后你可以打印你的清单。
其次,我认为你的列表空白的原因是你将Linklist next
设置为first
,并且首先一直为空。要解决这个问题,也许你可以改变{{1转到currentLink
,然后您的first
代码将按您的喜好运行。
就像这样:
this
但是,你仍然需要在许多地方改进代码,你真的希望代码做得很完美。希望这能帮到你。