java线性表学习笔记(二)

链表中的每一个元素都包含一个称为节点的结构,每向链表中增加一个元素,就会产生一个与之相关的节点,每个节点与它相邻的节点相连接(这是基础吧,网站空间,不过在看c的时候没认真看,美国服务器,呼)。

定义节点类如下(使用了泛型,下面有个简单的具体实例):

  class Node<E>{   E element ;   Node<E> next;   public Node(E e){  element = e;   }  }

下面讲解一个储存3个元素的链表的例子,每一个节点储存一个字符串;

1、先声明head(指向第一个节点) 和tai(指向最后一个节点),刚开始时都是null

Node<E> head = null;Node<E> tail = null;//链表为空

2、追加第一个节点

head = new Node<E>(“Chicgo”);last = head;

3、追加第二个节点

tail.next = new Node<E>(“Denver”);tail = tail.next;

3、追加第三个节点

tail.next = new Node<E>(“Dallas”);tail = tail.next;

每一个节点都包含元素和一个名为next的数据域,next指向下一个元素。如果元素是链表中的最后一个元素。则它的next所包含的为null,用这个特性可以检测某个节点是否为最后一个节点,网站空间,例如下面的遍历程序:

Node current = head;while()current !=null){System.out.println(current.element);current = current.next;}

下面就结合上面的知识给个简单的int类型事例:

Node{int element;Node next ;public Node(int n){ //元素赋值element = n;} main(String[] args) {Node head , tail;//申明head和tailhead = new Node(1);//插入第一个元素tail = head;//head和tail在一起System.out.println(head.element);//输出第一个元素tail.next = new Node(2);//插入第二个元素tail = tail.next;tail.next =new Node(3);tail = tail.next;Node current = head ;while (current != null){//遍历寻遍输出System.out.print(current.element);current = current.next;}}}如果心胸不似海,又怎能有海一样的事业。

java线性表学习笔记(二)

相关文章:

你感兴趣的文章:

标签云: