Java-单链表的实现
标签:清空countcolhistempspecringsystemerr
/**
* establish a single linked list
* 创建一个单链表
* @author fred
*
*/
public class SingleLinkedList<E> {
private Node<E> head;
private E data;
private int size;
//constructor
public SingleLinkedList() {
head = new Node();
}
//get the size of the list
//得到该链表的大小
public int getSize() {
return size;
}
//insert data into the end of the list
//向链表顺序添加data
public void add(E data) {
Node<E> node = new Node(data, null);
Node<E> temp = head;
while(temp.next != null) {
temp = temp.next;
}
temp.next = node;
size++;
}
//insert data into the list at the special position
//在链表中指定的位置index添加data
public void insertByIndex(E data, int index) {
if(index < 1 || index > size) {
System.out.println(\”脚标越界\”);
return;
}
Node<E> node = new Node(data, null);
Node<E> temp = head;
int count = 1;
while(temp.next != null) {
if(count++ == index) {
node.next = temp.next;
temp.next = node;
size++;
return;
}
else {
temp = temp.next;
}
}
}
//delete the data at a sepcial position
//删除链表中指定位置的数据
public void deleteByIndex(