初次接触java,用java也写了一个链表。代码如下:

 import java.io.*;

 class Node{
public int data; //数据域
public Node next; //指针域,全局变量可以不用初始化
public Node(int data1){
data = data1;
next = null;
} public void display(){
System.out.println("data: "+this.data);
}
} //定义单链表
class LinkList{
public int pos = 0; //结点的位置
public Node first; //头结点
public LinkList(){
Node first1 = new Node(0);
first = first1;
} //插入结点(从尾部插入结点)
public void addNode(int data){
if(first == null){
Node node = new Node(data);
first = node;
node.next = null;
}
else{
Node node = new Node(data);
Node current = first;
while(current.next != null)
current = current.next;
current.next = node;
node.next = null;
}
} //删除尾部的结点
public Node deleteNode(){
Node current = first;
Node pre = current;
while(current.next != null){
pre = current;
current = current.next;
}
Node temp = pre.next;
pre.next = null;
return temp;
} //在任意位置插入节点
public void insertNode(int index,int data){
Node node = new Node(data);
Node current = first;
while(pos != (index-1)){
current = current.next;
pos++;
}
node.next = current.next;
current.next = node;
pos = 0;
} //删除任意位置的结点
public Node deleteNode(int index){
Node current = first;
while(pos != (index-1)){
current = current.next;
pos++;
}
Node temp = current.next;
current.next = (current.next).next;
pos = 0;
return temp;
} //显示出所有结点信息
public void displayAllNodes(){
Node current = first;
while(current.next != null){
current.display();
current = current.next;
}
} //根据位置查找结点信息
public Node findByPos(int index){
Node current = first;
while(pos != index){
current = current.next;
pos++;
}
pos = 0;
return current;
} //根据数据查找结点信息
public Node findByData(int data){
Node current = first;
while(current.data != data){
if(current.next == null)
return null;
current = current.next;
}
return current;
} } public class test{
public static void main(String[] args){
LinkList link = new LinkList();
link.addNode(1);
link.addNode(2);
link.addNode(3);
link.addNode(4);
link.addNode(5);
link.insertNode(1,1000);
link.displayAllNodes();
}
}

下面是运行结果:

如有错误,欢迎交流指正。

单链表之Java实现的更多相关文章

  1. 线性表概述及单链表的Java实现

    一.线性表概述 线性表是指一组数据元素之间具有线性关系的元素序列,它表现为:除第一个元素没有直接前驱元素.最后一个元素没有直接后继元素外,其余所有元素都有且仅有一个直接前驱元素和直接后继元素. 根据存 ...

  2. 单链表数据结构 - java简单实现

    链表中最简单的一种是单向链表,每个元素包含两个域,值域和指针域,我们把这样的元素称之为节点.每个节点的指针域内有一个指针,指向下一个节点,而最后一个节点则指向一个空值.如图就是一个单向链表 一个单向链 ...

  3. 单链表反转java代码

    据说单链表反转问题面试中经常问,而链表这个东西相对于数组的确稍微难想象,因此今天纪录一下单链表反转的代码. 1,先定义一个节点类. public class Node { int index; Nod ...

  4. 使用java实现单链表----(java中的引用就是指针)

    //一直以为java中没有指针,其实java的引用就是指针,只不过堆栈中的引用储存了在堆中的地址,可以看做java中的指针.public class sibgleLink<E> { // ...

  5. 两个有序单链表合并成一个有序单链表的java实现

    仅作为备注, 便于自己回顾. import java.util.Arrays; public class MergeSort { public static class LinkedNode<V ...

  6. 单链表的java实现

    class LNode { public LNode next; public int data; } class Lianbiao { private static LNode head = new ...

  7. 数据结构——Java实现单链表

    一.分析 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素.链表中的数据是以结点来表示的,每个结点由元素和指针构成.在Java中,我们可以将单链表定义成一个类,单链表的基 ...

  8. 单链表Java实现

    近期在复习基本数据结构,本文是单链表的Java实现,包含对单链表的实现插入删除查找遍历等.最后还实现了单链表的逆置. 实现了多项式相加,多项式相乘. 原文章及完整源码在这里 http://binhua ...

  9. Java单链表反转 详细过程

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/guyuealian/article/details/51119499 Java单链表反转 Java实 ...

随机推荐

  1. MyBatis 源码篇-日志模块2

    上一章的案例,配置日志级别为 debug,执行一个简单的查询操作,会将 JDBC 操作打印出来.本章通过 MyBatis 日志部分源码分析它是如何实现日志打印的. 在 MyBatis 的日志模块中有一 ...

  2. Java Thread(线程)案例详解sleep和wait的区别

    上次对Java Thread有了总体的概述与总结,当然大多都是理论上的,这次我将详解Thread中两个常用且容易疑惑的方法.并通过实例代码进行解疑... F区别 sleep()方法 sleep()使当 ...

  3. ajax调用c# webservice 如何传递实体参数

    后端: 前端: 运行结果: 感觉还是比较简单,只是好久没有写webservice 了,上网找了一下写法

  4. react hooks学习

    接触React项目快两个月了,还在研究摸索各种知识点的过程中,充实且幸福. 在项目中学习新知识,还是很有效率的,一边写项目,一边实验新的知识点,比如react hooks!嘻嘻嘻~~~ 写了好一段时间 ...

  5. 日志(logging)与正则(re)模块

    logging模块 #日志:日常的流水 =>日志文件,将程序运行过程中的状态或数据进行记录,一般都是记录到日志文件中 #1.logging模块一共分为五个打印级别 debug.info.warn ...

  6. LaTeX中Python代码的语法高亮

    LaTeX中Python代码的语法高亮 本文中,"{}"中的字母为LaTeX或Python的包名,只有"Pygments"是Python的包,其他都是LaTeX ...

  7. 【Struts2】简介及入门

    一.概述 二.Struts2 快速入门程序 2.1 开发流程比较 2.2 引入依赖 2.2 创建jsp页面 2.3 在web.xml中配置前端控制器 2.4 创建struts.xml配置文件 2.4 ...

  8. Socket问题

    http://www.cnblogs.com/mareymarey111/archive/2011/12/08/2280253.html

  9. Django_06_项目完成

    项目完成 基本知识点都学完了,接下来完成示例项目 现在还需要的代码包括三个方面,三个方面顺序不分先后 1.定义视图 2.定义URLconf 3.定义模板 定义视图 编写booktest/views.p ...

  10. 01 数据库sql

    1, 关于mysql,常去的地方有:https://www.yiibai.com/mysql, http://tool.oschina.net/apidocs/apidoc?api=mysql-5.1 ...