唉,说点废话,昨天偶尔看到一年前自己用C解约瑟夫环问题的循环链表,唏嘘不已,想想自己一年前嵌入式的梦呢,这两天发生了许多,而有些人不在了就真的不在了,心情不好,不多说了,直接上代码,只是些链表的基本操作,花些功夫看就好了。

  首先,建立一个Node类,里面内构一个Node对象和数据(用来区分);

public class Node {
protected Node next; //指针
protected int data; //数据 public Node(int data){
this.data = data;
} //显示节点
public void display(){
System.out.println(data+" ");
}
}

  然后创建一个LinkList类,里面包含了链表的一些基本方法,

public class LinkList {
public Node first; //定义一个头结点 public LinkList(){
this.first = null;
} //插入一个头结点
public void addFirstNode(int data){
Node node = new Node(data);
node.next = first;
first = node;
} //删除一个头节点,并返回头结点
public Node deleteFirstNode(){
Node tempNode = first;
first = tempNode.next;
return first;
} //在替换掉index后面的节点。
public void add(int index , int data){
Node node = first;
Node current = first;
while(index-->0){
current = node.next;
node = current;
}
current.data = data;
} //在第index节点后面插入节点
public void Insert(int index , int data){
Node node = new Node(data);
Node current = first;
Node privious = first;
while(index-->0){
privious = current;
current = current.next;
}
node.next = current;
privious.next = node;
} //删除任意位置的节点
public void delete(int index){
Node current = first;
Node privious = first;
while(index-->0){
privious = current;
current = current.next;
}
if(current == first){
first = first.next;
}else{
privious.next = current.next;
}
} //根据data的值删除节点,删除找到的第一个节点
public void deleteData (int data){
Node privious = first;
Node current = first;
while(current.data!=data){
privious = current;
current = current.next;
}
if(current == first){
first = first.next;
}else{
privious.next = current.next;
}
}
}

  再建立一个主类,

public class TestLink {
public static void main(String[] args){
LinkList l = new LinkList();
l.addFirstNode(1);
l.addFirstNode(2);
l.addFirstNode(3);
Node node = l.first;
l.Insert(2, 5);
l.deleteData(5);
while(node!=null){
node.display();
node = node.next;
}
}
}

  实在是没有心情继续写了,希望以后会好点,2015年8月9日18:55分。

Java程序设计之链表结构的更多相关文章

  1. 《Java数据结构》链表结构(单向链表,双向链表)

    单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始:链表是使用指针进行构造的列表:又称为结点列表,因为链表是由一个个结点组装起来的:其中每个结点都有指 ...

  2. java实现线性链表结构

    package com.hephec.ds; public class LinkedList<T> { //定义一个内部类节点Node Node实例代表链表的节点 class Node{ ...

  3. (原创)用Java实现链表结构对象:单向无环链表

    转载请注明本文出处:http://www.cnblogs.com/Starshot/p/6918569.html 链表的结构是由一个一个节点组成的,所谓链,就是每个节点的头尾连在一起.而单向链表就是: ...

  4. java实现链表结构详细代码

    一.数据准备 1. 定义节点 2.   定义链表 1.数据部分 2.节点部分 class DATA //数据节点类型 { String key; String name; int age; } cla ...

  5. Java实现链表结构的具体代码

    一.数据准备 1. 定义节点 2.   定义链表 1.数据部分 2.节点部分 class DATA //数据节点类型 { String key; String name; int age; } cla ...

  6. 20145320《Java程序设计》第3周学习总结

    20145320<Java程序设计>第3周学习总结(第四章) 教材学习内容总结 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属性和行为的一组对象的 ...

  7. 20155214 2016-2017-2 《Java程序设计》第5周学习总结

    20155214 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 1.错误会被包装为可抛出的对象,继承自java.lang.Throwable类. 2.可以利 ...

  8. 20155215 2016-2017-2 《Java程序设计》第5周学习总结

    学号 2006-2007-2 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 尝试捕捉错误对象,try,catch. 如何抛出错误对象,throw语法. error代表系统错 ...

  9. 20175209 《Java程序设计》第八周学习总结

    20175209 <Java程序设计>第八周学习总结 一.教材知识点总结 1.泛型 1.泛型类声明: 格式 class People<E> People是泛型类名称 E是泛型列 ...

随机推荐

  1. awk命令简介

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...

  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统--任务调度系统解析

    1.任务主界面.任务可以被挂起,启动,和删除.来自著名Quartz扩展 2.任务可以是执行的SQL命令,存储过程,或者是一个后台方法 3.极其复杂的调度任务,循环次数,可以自行设置.并可以间隔执行,比 ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(10)-系统菜单栏[附源码]

    系列目录 似乎我们需要更多的模块了,我们有一个样例程序,可以帮助我们以后的系统开发做很多对照,我们稍后还有系统日志和系统异常的记录,这时浏览发生了困难,我们这一节来完成一个大家比较喜欢的东西吧,系统菜 ...

  4. 如何重新注册VMware Update Manager(VUM)至vCenter Server中

    在VMware的vSphere化境中,VUM的角色相当于Windows 环境中的WSUS(Windows 更新服务器),可以批量,自动化的完成所管辖ESXi主机的大版本迁移,小版本升级的任务,深受管理 ...

  5. Hadoop学习笔记(1):概念和整体架构

    Hadoop简介和历史 Hadoop架构体系 Master和Slave节点 数据分析面临的问题和Hadoop思想 由于工作原因,必须学习和深入一下Hadoop,特此记录笔记. 什么是hadoop? A ...

  6. jQuery源码学习感想

    还记得去年(2015)九月份的时候,作为一个大四的学生去参加美团霸面,结果被美团技术总监教育了一番,那次问了我很多jQuery源码的知识点,以前虽然喜欢研究框架,但水平还不足够来研究jQuery源码, ...

  7. React.js入门必须知道的那些事

    首先,React.js是facebook在2013年5月开源的一个前端框架,React不是一个MVC框架,它是构建易于可重复调用的web组件,侧重于UI, 也就是view层, React为了更高超的性 ...

  8. 使用代码向一个普通的类注入Spring的实例

    转载请在页首注明作者与原文地址 一:应用场景 什么是普通的类,就是没有@Controller,@Service,@Repository,@Component等注解修饰的类,同时xml文件中,也没有相应 ...

  9. 一个简单的webservice的demo(下)winform异步调用webservice

    绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...

  10. 导出BOM表

    1.Report->Bill of Materials for Project 将Value拖上左上角的Grouped Columns 2.在Excel表中全选器件,右键设置"设置单元 ...