gpt4 book ai didi

java - 使用基于数组的链表实现ADT列表

转载 作者:行者123 更新时间:2023-12-01 04:51:17 26 4
gpt4 key购买 nike

我正在尝试实现一个基于数组的链表,它必须按字母顺序排序。到目前为止,我已经有了要插入和节点的代码,但想检查一下这是否正确,以及是否有人可以帮助我编写一个主要方法来显示列表的元素。下面是我到目前为止的代码。

package listpackage;

import java.io.IOException;

public class ArrayLL {
private int MAX_CAP = 100;
private ANode[] list;
private int size;

public ArrayLL(){
list = new ANode[MAX_CAP];
list[list.length-1] = new ANode(null, -1);
for(int i = 0; i < list.length-1; i++){
list[i] = new ANode(null, i+1);
}
size = 0;
}

public void addElem(String s) throws IOException{
if(size == 0){
ANode a = new ANode(s, -1);
list[0] = a;
size++;
}else if(size == MAX_CAP + 1){
throw new IOException("List is full");
}else{
ANode a = list[0];
for(int i = 0; i< size; i++){
if(a.getData().compareTo(s)>0){
ANode b = new ANode(s,i+1);
for(int j = size; j > i; j--){
list[j] = list[j+1];
}
list[i] = b;
size++;
break;
}else{
ANode c = new ANode(s,-1);
list[size+1] = c;
}
}
}
}

public int getSize(){
return size;
}

}

class ANode{
private String data;
private int link;

public ANode(String d, int l){
data = d;
link = l;
}

public String getData(){
return data;
}

public int getLink(){
return link;
}
}

最佳答案

要打印列表的元素,您需要迭代它才能查看内容。

for(Object obj : list) {
System.out.println(obj);
}

您的对象还需要覆盖.toString()

希望这有帮助

关于java - 使用基于数组的链表实现ADT列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14916154/

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