简单单向链表的列子

package node;

public class LNode {
    private int data; // 脚标
    private LNode next;// 表示下一个节点

    public int getData() {
        return data;
    }

    public void setData(int data) {
        this.data = data;
    }

    public LNode getNext() {
        return next;
    }

    public void setNext(LNode next) {
        this.next = next;
    }

}
package node;

public class Linklist {

	private LNode head; // 定义一个头节点

	// 创建链表的方法
	public void createlink(int[] a) {
		LNode pnew;// 表示新产生的节点
		LNode ptail = new LNode();// 表示末节点
		head = ptail;// 开始头节点跟末节点相同
		for (int i = 0; i < a.length; i++) {
			pnew = new LNode();
			pnew.setData(a[i]); // 表示新节点的角标
			ptail.setNext(pnew);
			pnew.setNext(null);// 把新长生成的节点节点设置为空
			ptail = pnew; // 把末尾设置当前最新的,实质是在移动末尾
		}
	}

	public static void main(String[] args) {
		Linklist ll = new Linklist();
		int a[] = new int[10];
		for (int i = 0; i < a.length; i++) {
			a[i] = i;
		}
		ll.createlink(a);
		//测试搜索的方法
		ll.searchlink(1);
	}

	// 搜索的方法
	public void searchlink(int value) {
		LNode ptr;
		ptr = head.getNext();
		while (ptr != null) {
			if (value == ptr.getData()) {
				System.out.println("找到数据:" + ptr.getData());
				break;
			} else {
				ptr = ptr.getNext();
			}
		}
		if (ptr == null) {
			System.out.println("整个遍历完了,没找到数据");
		}
	}
	
	//删除的方法
	public void deletelink(int value){
		LNode  p = head;
		LNode ptr = head.getNext();
		while(ptr != null){
			if(ptr.getData() == value){
				p.setNext(ptr.getNext());//此处覆盖
				System.out.println("删除成功");
				break;
			}else{
				p = ptr;
				ptr = ptr.getNext();
			}
		}
	}
	
	//定义插入节点发方法
	public void insertlink(int pot,int value){
		LNode ptr;
		LNode pnew;
		ptr = head.getNext();
		while(ptr != null){
			if (pot == ptr.getData()){
				pnew = new LNode ();
				pnew.setData(value);
				pnew.setNext(ptr.getNext());
				ptr.setNext(pnew);
				System.out.println("插入成功");
				break;
			}else{
				ptr = ptr.getNext();
			}
		}
		if (ptr == null){
			System.out.println("插入数据失败");
		}
	}
	
	//循环打印出所有的
	public void printLink(){
		LNode ptr;
		ptr = head.getNext();
		while (ptr != null){
			System.out.println(ptr.getData());
			ptr = ptr.getNext();
		}
	}
	

}
原文地址:https://www.cnblogs.com/working/p/3273103.html