简单的实现单链表
public class Link < E > {
private Node< E > head;
private int size;
public Link ( ) {
this . head = new Node < > ( ) ;
}
private class Node < E > {
private Node< E > next;
private E element;
public Node ( ) {
this . element = null ;
this . next = null ;
}
public Node ( E element) {
this . element = element;
}
}
public boolean addHead ( E e) {
Node newNode = new Node < > ( e) ;
newNode. next = this . head. next;
head. next = newNode;
size++ ;
return true ;
}
public boolean addTail ( E e) {
Node newNode = new Node < > ( e) ;
Node node = this . head;
while ( node. next!= null ) {
node = node. next;
}
node. next = newNode;
size++ ;
return true ;
}
public void print ( ) {
Node node = this . head. next;
while ( node!= null ) {
System. out. println ( node. element) ;
node = node. next;
}
}
public boolean remove ( int index) {
if ( index > size || index <= 0 ) {
System. out. println ( "索引不合法" ) ;
return false ;
}
Node node = this . head;
int i = 1 ;
while ( node. next != null ) {
if ( ( index) == i) {
node. next = node. next. next;
if ( node. next == null ) {
node. next = null ;
break ;
}
}
node = node. next;
i++ ;
}
size-- ;
return true ;
}
public int size ( ) {
return size;
}