package link;
public class Link {
public int iData;
public Link next = null;
public Link(int data) {
super();
iData = data;
next = null;
}
public void displayLink(){
System.out.println("Link: {"+iData+"}");
}
public String toString(){
return "{"+iData+"}";
}
}
package link;
public class FirstLastLink {
private Link first = null;
private Link last = null;
public FirstLastLink(Link first, Link last) {
super();
this.first = first;
this.last = last;
}
public FirstLastLink() {
super();
this.first = null;
this.last = null;
}
public boolean isEmpty(){
return first == null;
}
public void insertFirst(Link link){
if(isEmpty()){
first = link;
last = link;
}else{
link.next = first;
first = link;
}
}
public void insertFirst(int data){
Link link = new Link(data);
if(isEmpty()){
first = link;
last = link;
}else{
link.next = first;
first = link;
}
}
public void insertLast(int data){
Link link = new Link(data);
if(isEmpty()){
first = link;
last = link;
}else{
last.next = link;//old last
last = link;
}
}
public void insertLast(Link link){
if(isEmpty()){
first = link;
last = link;
}else{
last.next = link;//old last
last = link;
}
}
public boolean deleteFirst(){
if(isEmpty())
return false;
first = first.next ;
if(first == null){
last = null;
return true;
}
return true;
}
public void displayLinkList(){
System.out.println("LinkList:first --> last");
Link link = first;
while(link != null){
link.displayLink();
link = link.next;
}
}
}
package link;
public class FirstLastApp {
public static void main(String args[]){
FirstLastLink link = new FirstLastLink();
link.insertFirst(3);
link.insertFirst(31);
link.insertFirst(2);
link.insertFirst(12);
link.insertFirst(1);
link.insertFirst(11);
link.displayLinkList();
link.insertLast(13);
link.insertLast(121);
link.insertLast(4);
link.insertLast(88);
link.displayLinkList();
// Link f = new Link(12);
// Link k = link.find(f);
// if(k != null){
// System.out.println("find key"+f);
// k.displayLink();
//
// }else{
// System.out.println("not find key"+f);
// }
//
boolean a = link.deleteFirst();
if(a){
System.out.println("delete key:"+a);
link.displayLinkList();
}else{
System.out.println("not delete :"+a);
}
}
}