用java实现数据结构链表的创建和遍历

用java创建和遍历链表

首先创建一个结点,有数据域和指针域:
这里age和name就是存放年龄与姓名这些数据的数据域;
而next就是下一结点的指针。
将结点的指针域node赋值为下一结点的地址这样便可遍历数组,最后一个结点的指针域为空,以此来确定遍历的终点。

单链表结构如下:
用java实现数据结构链表的创建和遍历_第1张图片

//单链表的建立
public class LinkListDemo {

	public static void main(String[] args) {
		LinkList link = new LinkList();
		link.add(2,"aa");
		link.add(1, "bb");
		link.add(19, "cc");
		link.add(18, "dd");
		link.show();
	}
	
}

//结点
class Node{
	public int age;
	public String name;
	public Node next;
	
	public Node(int age, String name) {
		super();
		this.age = age;
		this.name = name;
	}
	
	//重写toString方法
	@Override
	public String toString() {
		return "Node [age=" + age + ", name=" + name + "]";
	}
}

class LinkList{
	//新建头结点
	Node head = new Node(0,"");
	
	public void add(int i, String name) {
		//建一个结点将头节点赋值给他,该结点用于遍历找出最后一个结点
		Node temp = head;
		//将传进来的数据保存到结点中
		Node node = new Node(i, name);
		//循环将temp指向最后一个结点
		while(true) {
			if(temp.next == null) {
				break;
			}
			temp = temp.next;
		}
		//再将该结点接在最后一个结点后面
		temp.next = node;
	}

	//输出链表的值
	public void show() {
		//跳过头结点遍历输出其他结点
		Node temp = head.next;
		while(true) {
			//当结点为空则退出
			if(temp == null) {
				return;
			}
			//输出结点后将结点指向下一个结点
			System.out.println(temp);
			temp = temp.next;
		}
	}
}

你可能感兴趣的:(链表)