单链表入门--添加和遍历

   单链表的简单介绍

    我相信大部分人都知道单链表的结构,如下图所示:

    

 

     一个是数据域,一个是指针域用来存放下个节点的。

        单链表的添加和遍历

    

    首先心中要有上面这个图的结构,按照这个图的结构进行理解。

    头节点的作用是

      用来表示单链表的头,不存放具体数据。

    添加的理解

         分两种情况把。

      如果头节点的next指针为空,那就说明现在链表还是空的,添加的这个元素直接等于过去即可,伪代码如下

        if(head.next==null){

          head.next=node;

          return; 

        }

      如果头节点的.next不为空,就说明,链表中至少有一个节点,那么我们要用一个辅助变量来遍历链表。

      大概思路就是

      

 

      伪代码如下图所示(temp 指针现在指向的是节点1,如果判断节点1的next不为空,temp指针就等于节点1.next;以此类推。

      当判断出temp.next为空的时候,就跳出循环。temp.next=node;这样就续上了。

      Node temp=head.next;

      while(true){

        if(temp.next==null){

          break;

        }

        temp=temp.next;
      }

      temp.next=next;

    遍历的理解

      如果添加理解清楚了遍历也类似。

    下面是代码:

public void Add(Node node){
        if(head.next==null){
            head.next=node;
            return;
        }
        Node temp=head.next;
        while (true){
            if(temp.next==null){
                break;
            }
            temp=temp.next;
        }
        temp.next=node;
    }

    public void LookUp(){
        if(head.next!=null){
            Node temp=head.next;
            while (true){
                if(temp==null){
                    break;
                }
                System.out.println(temp);
                temp=temp.next;
            }
        }
    }

  测试代码:

       SingleLinkedList singleLinkedList=new SingleLinkedList();
         singleLinkedList.Add(new Node("节点1"));
         singleLinkedList.Add(new Node("节点2"));
         singleLinkedList.Add(new Node("节点4"));
         singleLinkedList.Add(new Node("节点3"));
         singleLinkedList.LookUp();

 

  

      

posted @ 2021-01-14 22:27  GDOUJKZZ  阅读(268)  评论(0编辑  收藏  举报