用java写出一个邻接表的结构
时间: 2023-02-09 14:14:27 浏览: 67
邻接表是一种图存储结构,可以用来存储稀疏图。在 Java 中,可以使用哈希表和链表来实现邻接表。下面是一个示例代码:
```java
import java.util.HashMap;
import java.util.LinkedList;
public class AdjacencyList {
private HashMap<Integer, LinkedList<Integer>> list;
public AdjacencyList(int size) {
list = new HashMap<>();
for (int i = 0; i < size; i++) {
list.put(i, new LinkedList<Integer>());
}
}
public void addEdge(int source, int destination) {
LinkedList<Integer> slist = list.get(source);
slist.add(destination);
}
public void printList() {
for (int i = 0; i < list.size(); i++) {
LinkedList<Integer> edgeList = list.get(i);
System.out.print("vertex-" + i + " is connected to: ");
for (int j = 0; j < edgeList.size(); j++) {
System.out.print(edgeList.get(j) + " ");
}
System.out.println();
}
}
}
```
在上面的代码中,我们使用了 Java 的 HashMap 和 LinkedList 来实现邻接表。HashMap 用来存储每个顶点对应的邻接链表,LinkedList 用来存储每个顶点的邻接顶点。
这是一个邻接表的简单实现,你可以根据需要进行扩展,比如加权图等.