Public Class Link {
Private Object Data;
Public Link next; // Note: Only a reference is saved here.
Public Link (Object Data ){
This . Data = Data;
}
Public Object PEEK (){
Return Data;
}
} Public Class Linklist {
Private Link first;
Public Boolean Isempty (){
Return First = Null ;
}
Public Void Insertfirst (Object Data ){ // Write Data is written in the header
Link = New Link (data );
Link. Next = First;
First = Link;
}
Public Link deletefirst (){
If ( ! This . Isempty ()){
Link temp = First;
First = First. Next;
Return Temp;
} Else {
Return Null ;
}
}
Public Void Displaylist (){
Link current = First;
While (Current ! = Null ){
System. Out. println (current. Peek () + " " );
Current = Current. Next;
}
}
// * *********** Test ******************
Public Static Void Main (string [] ARGs ){
Linklist = New Linklist ();
Linklist. insertfirst ( " Aaa " );
Linklist. insertfirst ( " Bbb " );
System. Out. println ( " DEL: " + Linklist. deletefirst () + " Data: " + Linklist. deletefirst (). Peek ());
Linklist. insertfirst ( " CCC " );
Linklist. insertfirst ( " Ddd " );
Linklist. displaylist ();
}
}
Output:
DEL: Datastructure. Link. Link @ c17164 data: AAA
Ddd
CCC