使用链表的整数邻接表的程序

时间:2013-11-23 07:35:35

标签: java adjacency-list

public class AdjList {
    private Node first;        // beginning of list
    private int N;             // size of lis
private static class Node {
       int a;
        Node next;
        Node(int a, Node next) {
            this.a = a;
            this.next = next;
        }
    }

    public boolean isEmpty() { return (first == null); }
    public int size()        { return N; }

    public void insert(int a) {
        first = new Node(a, first);
        N++;
    }


    public static void main(String[] args) {

        AdjList adjlist = new AdjList();
        adjlist.insert(1);
        adjlist.insert(2);
        adjlist.insert(3);
        adjlist.insert(4);

        System.out.println(adjlist);
    }
}

我正在尝试使用链接列表在邻接列表上编写代码。数据项是整数,但它显示错误 这是我试过的代码。但它返回了一些其他的值。你帮助我

AdjList @ 6e1408是输出

1 个答案:

答案 0 :(得分:2)

您需要两种toString()方法,AdjList

可能是这样的方法
public String toString() {
  StringBuilder sb = new StringBuilder();
  sb.append("AdjList [").append(N).append("] = {");
  Node n = this.first;
  for (int i = 0; i < N; i++) {
    if (i != 0) {
      sb.append(", ");
    }
    sb.append(n.toString());
    n = n.next;
  }
  sb.append("}");
  return sb.toString();
}

然后对于你的Node你需要另一个,也许是这样的

public String toString() {
  return String.valueOf(a);
}

我认为如果你尝试这些,你会得到更像你期望的东西。