首页 > 其他 > 详细

[链表]关于链表的一些常识-总结

时间:2019-09-23 13:51:43      阅读:120      评论:0      收藏:0      [点我收藏+]

① 最近被链表搞的有点蒙,道理懂,但是在动手敲关于链表的代码的时候,遇到了难题。终于让我搜到了这篇文章,让我突然更懂链表了(达到了能写代码的地步)。

    https://m.jb51.net/article/170155.htm?tdsourcetag=s_pcqq_aiomsg

②首先,在java里,链表的每个结点用Node类来表示,结点定义如下:

 1 package com.linkedlist;
 2 
 3 public class Node {
 4   private int data;// 结点数据
 5   private Node next;// 下一个结点
 6 
 7   public Node(int data) {
 8     this.data = data;
 9   }
10 
11   public int getData() {
12     return data;
13   }
14 
15   public void setData(int data) {
16     this.data = data;
17   } 
18 
19   public Node getNext() {
20     return next;
21   }
22 
23   public void setNext(Node next) {
24     this.next = next;
25   }
26 }

③然后,定义一个链表操作类,里面包含常用的操作:

    

package com.linkedlist;

import java.util.Hashtable;

public class LinkedListOperator {
  private Node head = null;// 头结点。java里允许这样写:一开始让头结点为空

  // 在链表的末尾增加一个结点
  private void addNode(int data) {    //传入的参数是data
    Node newNode = new Node(data);  //传入了data,该data就被拿到②中4、8、16行进行运用
    if (head == null) {
      head = newNode;
      return;
    }
    Node temp = head; //temp是head的复制体,此后无论temp怎么变都无关head的事情
    while (temp.getNext() != null) {   //无限循环,直到temp自己已经是尾结点
      temp = temp.getNext();  //把temp的下一个结点,赋给temp自己
    }
    temp.setNext(newNode);   //经过上述循环,已经保证temp是原链表的尾结点了,
  }                                       //接上句,让newNode成为temp的下一个结点
                    //上述就是addNode函数

④  未完待续,我先睡个午觉

[链表]关于链表的一些常识-总结

原文:https://www.cnblogs.com/zf007/p/11571823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!