java 代码
- **
- 节点Node对象的描述主要分为值和指针对象(Node)本身
- */
- package com;
- class SingleLinkedList { //声明一个链表节点对象
- private String data; //节点值
- private SingleLinkedList next; //指向的下个Node的地址对象
- SingleLinkedList(String i) { //构造函数初始化一个值
- data = i;
- }
- public SingleLinkedList getNext() { //获取指针对象
- if (next != null) {
- return next;
- }
- return null;
- }
- public void setNext(SingleLinkedList next) { //指定指针对象
- this.next = next;
- }
- public String getData() { 获取对象值
- if (data != null) {
- return data;
- }
- return null;
- }
- }
java 代码
- /**
- 进行链表的组成
- */
- package com;
- public class SingleLinkedListTest {
- public static void main(String[] args) {
- SingleLinkedList head = null; //头节点初始化
- SingleLinkedList s = null; //临时变量初始化
- SingleLinkedList p = null; //链表
- int size = (int) (Math.random() * 15); //自生成链表大小
- for (int i = 0; i < size; i++) { //循环
- s = new SingleLinkedList(i + ""); //新建立节点
- if (head == null) { //头节点初始化(只可能有一次)
- head = s; //给头节点赋值
- p = s; //给把s赋给链表p
- } else { //否则则把p节点的指针对象设置为s
- p.setNext(s);
- p = s; //指针对象在赋给p
- }
- }
- p.setNext(null); //设置尾节点
- s = null; //清空s
- traverse(head); //把头节点发送给方法traverse
- }
- public static void traverse(SingleLinkedList head) {
- SingleLinkedList p = null; //链表节点对象
- if (head != null) { //如果head节点不为null
- p = head; //赋给p
- }
- while (p.getNext() != null) { //iterator p
- System.out.println(p.getData());
- p = p.getNext(); // p = p.next 赋值指针对象给p
- }
- System.out.println(p.getData()); //尾节点值
- }
- }