链表是数据结构的基础内容之一,下面就链表操作中的创建链表、打印链表、求取链表长度、判断链表是否为空、查找结点、插入结点、删除结点、逆转链表、连接链表、链表结点排序等进行总结。
1.创建表示结点的类,因为链表操作中需要比较结点,因此结点需要实现comparable接口。
public class Node implements Comparable<Node> {
private Object data;
private Node next;
//构造函数
public Node() {
this.data = null;
this.next = null;
}
//构造函数重载
public Node(Object data) {
this.data = data;
this.next = null;
}
public Node(Object data, Node next) {
this.data = data;
this.next = next;
}
//读结点数据
public Object getData() {
return data;
}
//写结点数据
public void setData(Object data) {
this.data = data;
}
//获取结点链接的下一个点
public Node getNext() {
return next;
}
//设置结点链接的下一个点
public void setNext(Node next) {
this.next = next;
}
@Override
public int compareTo(Node o) {
if((Integer)this.data == (Integer)o.getData()) {
return 0;
}
else {
if((Integer)this.data < (Integer)o.getData()) {
return -1;
}
else {
return 1;
}
}
}
}
2.链表类如下。
public class Link{
/**
* 链表头结点
*/
private Node m_headNode = null;
/**
* 链表长度
*/
private int m_length = 0;
/**
* 获取链表头结点
*
* @return 链表头结点
*/
public No