Sei sulla pagina 1di 6

CircularSingleLinkedList.

java
1 class NodeCSLL {
2 Object data;
3 NodeCSLL next;
4 }
5 public class CircularSingleLinkedList {
6 private NodeCSLL pAwal, pAkhir;
7 private int counter;
8 public CircularSingleLinkedList(){
9 pAwal = null;
1 pAkhir = null;
0 counter = -1;
1 }
1 public void SisipDataDiAwal(Object data){
1 NodeCSLL pBaru = new NodeCSLL();
2 pBaru.data = data;
1 pBaru.next = null;
3 if (pAwal == null){
1 pAwal = pBaru;
4 pAkhir = pBaru;
1 pBaru.next = pAwal;
5 counter = 0;
1 } else {
6 pBaru.next = pAwal;
1 pAwal = pBaru;
7 pAkhir.next = pAwal;
1 counter++;
8 }
1 }
9 public Object SisipDataDiAkhir(Object data){
2 // lengkapi bagian ini
0 }
2 public Object hapusSatuDataDiAkhir(){
1 // lengkapi bagian ini
2 }
2 public void cetak(String Komentar){
2 System.out.println(Komentar);
3 NodeCSLL pCetak;
2 pCetak = pAwal;
4 int i=-1;
2 //if (pCetak != null) i = 0;
5 //while((i < counter) && (i != -1) ){
2 while((i < counter) ){
6 System.out.print(pCetak.data+"->");
2 pCetak = pCetak.next;
7 i++;
2 }
8 System.out.println();
2 }
9 public static void main(String[] args) {
3 CircularSingleLinkedList csll =
0 new CircularSingleLinkedList();
3 csll.SisipDataDiAwal(new Integer(50));
1 csll.SisipDataDiAwal(new Integer(60));
3 csll.SisipDataDiAwal(new Integer(8));
2 csll.SisipDataDiAwal(new Integer(9));
3 csll.SisipDataDiAwal(new Integer(90));
3 csll.SisipDataDiAwal(new Integer(19));
3 csll.cetak("csll Asal");
4 csll.cetak("csll stl 8 di hapus");
3 csll.hapusData(90);
5 csll.cetak("csll stl 90 di hapus");
3 }
6 }
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
Tree.java
1 import java.util.Random;
2 class Node{
3 int data;
4 Node nodeKiri;
5 Node nodeKanan;
6
7 public Node(int dt){
8 data = dt;
9 nodeKiri = nodeKanan = null;
1 }
0
1 public void sisipDt(int dtSisip ){
1 if (dtSisip < data){
1 if(nodeKiri == null)
2 nodeKiri = new Node( dtSisip );
1 else nodeKiri.sisipDt( dtSisip );
3 }
1 else if(dtSisip > data){
4 if ( nodeKanan == null )
1 nodeKanan = new Node(dtSisip);
5 else nodeKanan.sisipDt(dtSisip);
1 }
6 }
1 }
7
1 public class Tree{
8 private Node root;
1
9 public Tree() {
2 root = null;
0 }
2
1 public void sisipDtNode(int dtSisip){
2 if (root == null)
2 root = new Node( dtSisip );
2 else
3 root.sisipDt(dtSisip);
2 }
4
2 public void preorderTraversal() {
5 preorder(root);
2 }
6
2 private void preorder(Node node){
7 if(node == null) return;
2
8 System.out.printf( "%d ", node.data );
2 preorder(node.nodeKiri);
9 preorder(node.nodeKanan);
3 }
0
3 public void inorderTraversal(){
1 inorder( root );
3 }
2
3 private void inorder(Node node){
3 if (node == null) return;
3
4 inorder(node.nodeKiri);
3 System.out.printf( "%d ", node.data );
5 inorder( node.nodeKanan );
3 }
6
3 public void postorderTraversal(){
7 postorder( root );
3 }
8
3 private void postorder(Node node){
9 if (node == null) return;
4
0 postorder(node.nodeKiri);
4 postorder(node.nodeKanan);
1 System.out.printf( "%d ", node.data );
4 }
2
4 public static void main(String args[]) {
3 Tree Tree = new Tree();
4 int nilai;
4 Random randomNumber = new Random();
4
5 System.out.println( "sisip nilai data berikut : " );
4
6 // sisipDt 10 bilangan acak dari 0-99 ke dalam tree
4 for ( int i = 1; i <= 10; i++ ) {
7 nilai = randomNumber.nextInt( 100 );
4 System.out.print(nilai + " " );
8 Tree.sisipDtNode(nilai);
4 }
9
5 System.out.println ( "\n\nPreorder traversal" );
0 Tree.preorderTraversal();
5
1 System.out.println ( "\n\nInorder traversal" );
5 Tree.inorderTraversal();
2
5 System.out.println ( "\n\nPostorder traversal" );
3 Tree.postorderTraversal();
5 System.out.println();
4 }
5 }
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
6
6
6
7
6
8
6
9
7
0
7
1
7
2
7
3
7
4
7
5
7
6
7
7
7
8
7
9
8
0
8
1
8
2
8
3
8
4
8
5
8
6
8
7
8
8
8
9
9
0
9
1
9
2
9
3
9
4
9
5
9
6
9
7
9
8
9
9
1
0
0

1. Perhatikan CircularSingleLinkedList.java
a. Lengkapi method baris ke 29
b. Lengkapi method baris ke 32
2. Kombinasikan CircularLinkedlist dan Tree

Setiap note dalam tree ibarat sebuah router


Didalam setiap router terdapat IP dan list PC
Setiap PC mempunyai nama
Implementasikan kodisi tersebut kedalam java !

Potrebbero piacerti anche