b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

【深圳校区】Java数据结构

电脑杂谈  发布时间:2019-09-07 17:05:43  来源:网络整理

java 链表_链表结构 java代码_java 链表数据结构

Java数据结构-单链表的实现

概述

借用知乎网友的一句话:如果说 Java 是自动档轿车,C 就是手动档吉普。数据结构呢?是变速箱的工作原理。你完全可以不知道变速箱怎样工作,就把自动档的车辆从 A 开到 B,而且也许就比懂得的人慢。写程序这件事,和开车一样,经验可以起到巨大作用,但即使你不知道底层是怎样工作的,就依然没法开车,既不会修车,也不能造车。但若你一生在编程领域还有点更高的追求,数据结构是绕不开的课题。

数据结构中有许多种类型,而且实现的语言也是C 也有java.今天我们来讲讲 单链表的java实现添加结点。

单链表概述

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

单链表的实现原理

111.png

说明:在单链表中,我们定义一个节点Node 包括两个部分:元数据和下一个节点的地址。节点和节点之间 通过next(即下一个节点的地址)来进行关联,这样就产生了一个链式结构。我们很随意的能够从头(head)结点仍然遍历到最后边的结点。这种构架有点像铁锁一样环环相扣。

单链表的java实现

实现数据结构的语言可以有很多,这里我们介绍使用java语言来实现。

实现添加向字段中添加节点的流程

定义单链表对象

package com.itheima.link;

/**

* 单列表

* @title SingleLink.java

* <p>

* description

* </p>

* <p>

* company:

java 链表数据结构_java 链表_链表结构 java代码

* </p>

* @author 三国的包子

* @version 1.0

*

*

*/

public class SingleLink {

// 结点对象

class Node {

Object data;// 数据

Node next;// 下一个节点的地址引用

// 构造函数 获取数据

public Node(Object data) {

this.data = data;

}

}

Node head;// 表示链表的头节点

}

在SingleLink中提高添加节点的方式

/**

* 从顶部添加一个节点

*

java 链表数据结构_链表结构 java代码_java 链表

* @param data

* 要添加的节点的数据

*/

public void add(Object data) {

// 1.构建一个节点对象

Node node = new Node(data);

if (head == null) {

// 2.判断链表中能否为空 如果为空 则新增的节点成为头节点

head = node;

} else {

// 3.如果链表不为空,则必须查询到尾部节点

Node rear = findRearNode();

// 4.向尾部节点添加一个节点

rear.next = node;// rear肯定不为空

}

}

/**

* 找到尾部节点

*

* @return

*/

private Node findRearNode() {

java 链表数据结构_链表结构 java代码_java 链表

// 从头开始遍历

// 1.定义一个临时变量 让其等于头

Node temp = head;

while (temp != null) {// 如果不等于空再次遍历

if (temp.next == null) {// 如果接的next的属性为空说明 该节点为尾部节点

break;// 跳出循环

}

temp = temp.next;// 遍历下一个

}

return temp;

}

重写toString 方法用于测试

// 重写方法 打印数据

@Override

public String toString() {

StringBuffer stringBuffer = new StringBuffer("[");

// 遍历

Node temp = head;

while (temp != null) {

if (temp.next == null) {

stringBuffer.append(temp.data);

break;

java 链表_java 链表数据结构_链表结构 java代码

} else {

stringBuffer.append(temp.data + ",");

}

temp = temp.next;

}

stringBuffer.append("]");

return stringBuffer.toString();

}

测试

public class TestLink {

public static void main(String[] args) {

SingleLink singleLink = new SingleLink();

singleLink.add(1);

singleLink.add(2);

singleLink.add(3);

System.out.println(singleLink);

}

}

测试效果

输出结果如下:

[1,2,3]

总结

通过上面的事例,我们塑造了一个链表对象 并向链表对象中添加了一些元素,模拟了集合中添加元素的方式。简单的入门就到这里了,这帮助我们去理解。另外查询节点的方式链表结构 java代码链表结构 java代码,可以借助节点图来理解即可。另外还有些链表的操作方法,我会正式实现。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-122051-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...