- 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点;单向链表由结点构成,指针指向第一个成为表头结点,终止于最后一个指向NULL的指针。
-
单向链表增加删除节点:
(LikedList)
package com.java02;
//单向链表(值域、指针域)
public class LinkedList {
private Node root;
//向链表中插入一个节点
public void add(Object obj){
Node node=new Node(obj);
if(root==null){
root=node;
return;
}else{
Node n=root;
while(n.next!=null){
n=n.next;
}
n.next=node;
}
}
//删除一个节点
public void delete(int index){
if(index==0){
root=root.next;
return;
}else{
int i=0;
Node n=root;
while(n.next!=null){
i++;
if(i==index){
n.next=n.next.next;
return;
}
n=n.next;
}
}
}
class Node{
Object value;
Node next;
public Node(Object value) {
super();
this.value = value;
}
}
public void display(){
for(Node n=root;n!=null;n=n.next){
System.out.println(n.value);
}
}
}
(Demo)
package com.java02;
public class Demo {
public static void main(String[] args) {
LinkedList list=new LinkedList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.display();
System.out.println("========================");
list.delete(1);
list.delete(10);
list.display();
}
}