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