/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package linklist;
import java.util.Scanner;
public class Linklist {
private class tumpukan {
int bil;
tumpukan next; //next adalah variabel penunjuk objek
// next bukan objek baru
}
tumpukan atas; //penunjuk objek
public void input(int in){
tumpukan databaru=new tumpukan();
databaru.bil= in;
databaru.next=atas; //databaru.next menunjuk atas
atas=databaru;
}
public int keluarkan(){
int output=atas.bil;
atas=atas.next;
return output;
}
public void printing(){
tumpukan index=atas;
while(index!=null){
System.out.println(index.bil);
index=index.next;
}
}
public void hapus(int target){
tumpukan index=atas;
if(index.bil==target){
atas=atas.next;
}else
while(index!=null){
if(index.next.bil==target){
index.next=index.next.next;
}
index=index.next;
}
}
public boolean apaKosong(){
return(atas==null);
}
public static void main(String[] args) {
Scanner en=new Scanner(System.in);
Linklist senarai=new Linklist();
System.out.println("PROGRAM LINKEDLIST STACK");
for(int i=0;i<=9;i++){
System.out.println("Masukkan ke dalam STACK");
int angka=en.nextInt();
senarai.input(angka);
}
System.out.println("Keluarkan Stack ");
while(!senarai.apaKosong()){
System.out.println(" " +senarai.keluarkan());
}
System.out.println("Hapus data 6 dari Stack ");
int dihapus=6;
senarai.hapus(dihapus);
System.out.println("Hasilnya sbb ");
System.out.println("Keluarkan Stack ");
while(!senarai.apaKosong()){
System.out.println(" " +senarai.keluarkan());
}
}
}