Repository navigation
Expand file tree
/
Copy pathGraphIsland.java
More file actions
49 lines (38 loc) · 1.74 KB
/
Copy pathGraphIsland.java
File metadata and controls
49 lines (38 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Pandyaka Aptanagi / 13517003
/* Kelas GraphIsland berisi dengan representasi Graph dengan menggunakan
tipe data List of LinkedList, dengan index dari List merepresentasikan
pulau dan isi dari LinkedList merepresentasikan pulau tersebut memiliki
bridge ke arah pulau mana.
List dipilih karena lebih menguntungkan dibandingkan dengan menggunakan
array of Linked List.
Linked List digunakan karena lebih cocok untuk merepresentasikan pulau
yang terhubung dibandingkan dengan List biasa. Juga karena bisa menampung
lebih banyak daripada dengan menggunakan array biasa. */
import java.util.*;
public class GraphIsland
{
// ATRIBUT
private int Vertices;
public List<LinkedList<Integer>> list_island;
// METHOD
public GraphIsland(int v)
/* Konstruktor untuk Graph Island, berisi deklarasi pembentukan objek List of LinkedList
dan inisialisasi untuk setiap elemennya dengan size v, yakni sebanyak pulau yang
dimainkan oleh pengguna */
{
Vertices = v;
list_island = new ArrayList<LinkedList<Integer>>();
for (int i = 0 ; i < Vertices ; i++)
{
LinkedList<Integer> newlink = new LinkedList<>();
list_island.add(i,newlink);
}
}
public void addEdge(int v, int w)
/* Fungsi addEdge, untuk menambahkan simpul baru pada list yang sudah ada
menggunakan fungsi get dan add dari bawaan List dan LinkedList, ide utamanya
adalah dengan menambahkan simpul w pada index v pada list */
{
list_island.get(v).add(w);
}
}