import java.awt.List; package list; /** * * @author kantor-linux */ class Kereta{ int data; Kereta gerbong; public Kereta(){ } public Kereta(int data){ this.data=data; } } public class LatihanList { static Kereta kereta=null; public static void insertKeretaAwal(int data){ Kereta keretaSementara = new Kereta(data); if(kereta == null) { kereta = keretaSementara; } else { keretaSementara.gerbong = kereta; kereta = keretaSementara; } } public static void cetakKereta(){ System.out.println("Kereta keretaku"); Kereta k = LatihanList.kereta; while( k!= null) { System.out.print(k.data + "->"); k = k.gerbong; } System.out.println(""); } public static void insertKeretaAkhir(int data){ Kereta keretaSementara=new Kereta(data); if(kereta==null){ kereta=keretaSementara; }else{ Kereta gerbongBaru=kereta; while(gerbongBaru.gerbong!=null){ gerbongBaru=gerbongBaru.gerbong; } gerbongBaru.gerbong=keretaSementara; } } public static void deleteKeretaAwal(){ if(kereta==null){ System.out.println("Kereta masih kosong tidak bisa dihapus"); }else{ Kereta k=kereta.gerbong; kereta=k; } } public static void deleteKeretaAkhir(){ if(kereta==null){ System.out.println("Kereta masih kosong tidak bisa dihapus"); }else{ Kereta k=kereta; while(k.gerbong.gerbong!=null){ k=k.gerbong; } k.gerbong=null; } } public static Object[] cariPosisiKereta(int cari){ System.out.println("---------- Cari Posisi Kereta ----------"); Object object[]=new Object[2]; if(kereta==null){ System.out.println("Tidak dapat dilakukan pencarian, kereta kosong"); }else{ int nomor=1; Kereta k=kereta; while(k.gerbong!=null){ if(k.data==cari){ object[0]=nomor; object[1]=cari; } k=k.gerbong; nomor++; } } return object; } public static void cetakHasilPencarian(Object [] cari){ System.out.println("Data yang dicari diposisi ke "+cari[0]+" bernilai: "+cari[1]); } public static void menggantiKereta(int yangdiganti, int pengganti){ System.out.println("---------- Mengganti kereta ----------"); if(kereta==null){ System.out.println("Tidak dapat dilakukan penggatian, kereta kosong"); }else{ Kereta k=kereta; while(k.gerbong!=null){ if(k.data==yangdiganti){ k.data=pengganti; } k=k.gerbong; } } } public static void deleteKeretaYangdiCari(int yangdicari){ System.out.println("---------- Menghapus kereta yand dicari ----------"); if(kereta==null){ System.out.println("Tidak dapat dilakukan penggatian, kereta kosong"); }else{ //Kereta sementara=new Kereta(yangdicari); Kereta k=kereta; while(k.gerbong.data != yangdicari && k.gerbong.gerbong != null) { k=k.gerbong; } if(k.gerbong.data != yangdicari) { System.out.println("Data yang dicari tidak ditemukan"); } else{ k.gerbong=k.gerbong.gerbong; } } } public static void main(String arg[]){ LatihanList.insertKeretaAwal(30); LatihanList.insertKeretaAwal(610); LatihanList.insertKeretaAwal(640); LatihanList.insertKeretaAwal(602); LatihanList.insertKeretaAwal(601); LatihanList.insertKeretaAwal(60); LatihanList.insertKeretaAwal(50); LatihanList.insertKeretaAkhir(89); LatihanList.cetakKereta(); LatihanList.deleteKeretaAwal(); LatihanList.cetakKereta(); //LatihanList.deleteKeretaAkhir(); Object o[]=LatihanList.cariPosisiKereta(60); LatihanList.cetakHasilPencarian(o); LatihanList.menggantiKereta(601, 300); LatihanList.cetakKereta(); LatihanList.deleteKeretaYangdiCari(602); LatihanList.cetakKereta(); } }Berikut hasilnya
Struktur data tentang Linked List dengan Java
Struktur data tentang linked list
0 comments:
Post a Comment