zoukankan      html  css  js  c++  java
  • 单链表入门--添加和遍历

       单链表的简单介绍

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

        

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

            单链表的添加和遍历

        

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

        头节点的作用是

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

        添加的理解

             分两种情况把。

          如果头节点的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();

      

          

  • 相关阅读:
    技术检验
    Linux 系统命令总结
    ftp服务器的搭建
    Win10优秀软件推荐
    Mac软件推荐
    博客主题美化
    无人机开发之四:Pixhawk开发环境搭建
    无人机开发之三:飞行器入门理论知识
    无人机开发之二:Pixhawk硬件架构
    无人机开发之一:Pixhawk与Arduino简述
  • 原文地址:https://www.cnblogs.com/gdouzz/p/14279776.html
Copyright © 2011-2022 走看看