单链表的遍历

目录

1.单链表是什么

 2.单链表的定义

3.单链表的遍历


1.单链表是什么

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。

现实世界中的举例说明:

        火车:火车其实就是一个链表。每个车厢就是一个元素节点。假设每个车厢只能保存一个数据,每个车厢还连接了下一节车厢,即保存了下一节车厢的地址。

单链表的遍历_第1张图片

 2.单链表的定义

节点类的定义:

  class Node{
        int val;//保存的元素
        Node next;//下一个节点的地址
  }
  

链表类的定义:

public class SingleLinkedList {
    Node head;//第一个节点的地址
    int size;//节点的个数
}

由于每个节点都保存了下一个节点的地址,因此在链表类中,只需要知道第一个节点的地址即可。

3.单链表的遍历

1.方法1:while循环

public String toString(){
        StringBuilder sb=new StringBuilder();
        //从当前链表的第一个节点开始遍历,直到走到尾节点为止
        //第一个节点head
        //尾节点的next值==null
        Node temp=head;
        while(temp!=null){
            sb.append(temp.val);
            sb.append("->");
            if(temp.next==null){
                sb.append("null");
            }
            temp=temp.next;
        }
        return sb.toString();
    }
}

2.方法2:for循环

public String toString(){
        for(Node x=head;x!=null;x=x.next){
            sb.append(temp.val);
            sb.append("->");
            if(x.next==null){
                sb.append("null");
            }
        }
        return sb.toString();
    }
}

3.实现结果

public class SingleLinkedTest {
    public static void main(String[] args) {
        SingleLinkedListlist=new SingleLinkedList<>();
        list.addFirst(1);
        list.addFirst(2);
        list.addFirst(3);
        list.addFirst(4);
        list.addFirst(5);
        System.out.println(list.toString());
    }
}

这里添加了数字1,2,3,4,5,单链表的遍历应该输出

5->4->3->2->1->null


单链表的遍历_第2张图片

遍历成功。

你可能感兴趣的:(链表,数据结构,java)