public class LinkList {
/**
*
*/
private Node head;
public LinkList() {
this.head=new Node(0+"");
}
public void addNode(String num){
Node p=head;
Node newnode=new Node(num);
for(;p.getNext()!=null;p=p.getNext()){}
p.setNext(newnode);
newnode.setPre(p);
}
public void delNode(String num){
for(Node p=head;p.getNext()!=null;p=p.getNext()){
if(p.getNum()==num){
p.getNext().setPre(p.getPre());
p.getPre().setNext(p.getNext());
p.setPre(null);
p.setNext(null);
}
}
}
public static void main(String[] args) {
LinkList linklist=new LinkList();
linklist.addNode("1");
linklist.addNode("2");
linklist.addNode("3");
linklist.addNode("4");
linklist.addNode("5");
linklist.print();
}
public void print(){
Node p=head;
for(;p.getPre()!=null;p=p.getPre()){}
for(;p!=null;p=p.getNext()){
System.out.print(p.getNum()+",");
}
}
}
class Node{
private String num;
private Node pre;
private Node next;
public Node(String num){
this.num=num;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public Node getPre() {
return pre;
}
public void setPre(Node pre) {
this.pre = pre;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
链表有改进的地方,请不吝指正
分享到:
相关推荐
动态演示LINKLIST ARRAYLIST QUEUE STACK 顶顶顶顶顶顶顶
至于`TestShape.java`,这可能是一个测试类,用于实例化`LinkList`并执行各种操作,比如添加元素、删除元素、打印链表等,以验证链表功能的正确性。例如: ```java public class TestShape { public static void ...
用java 编写简单的 链表 以及链表的简单处理
LinkList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。LinkList不是线程安全的,因为它没有使用synchronized方法。 Vector Vector...
在Java编程语言中,ArrayList和LinkedList都是集合框架中两种重要的数据结构,它们分别基于不同的底层实现,具有不同的特性和性能特点。以下是对这两个类的详细分析: 1. **ArrayList 实现**: - ArrayList 实现了...
在Java编程中,双向链表(Double-Linked List)是一种数据结构,它允许在列表的任何位置进行插入和删除操作,因为每个节点不仅包含数据,还包含指向前后节点的引用。这种数据结构对于需要频繁地在中间位置进行操作的...
在这个Java实现中,我们将探讨如何创建一个单链表,包括节点定义、链表的基本操作以及测试代码。 首先,我们来看`Node.java`文件。这个文件通常会定义链表中的节点类,每个节点包含两个主要部分:数据(data)和...
在本“手写linklist demo”中,我们将深入理解链表的原理,并通过编写代码来实现一个简单的链表示例。下面将详细讨论链表的基本概念、结构以及如何实现。 链表是一种线性数据结构,与数组不同,它不连续存储元素。...
在这个链表演示程序中,我们看到一个用Java语言实现的链表,它是针对数据结构课程设计的一个项目。这个项目的目标是帮助学生理解和实践链表的基本操作,如初始化、插入、删除和搜索。 首先,让我们深入了解链表的...
本文将详细探讨如何使用Java语言来实现链表,包括顺序表和单链表、双链表。 首先,我们来看顺序表。顺序表是一种线性数据结构,其中元素在内存中按顺序存储。在Java中,我们可以使用数组来实现顺序表。当插入或删除...
### Java模拟LinkList双向链表实现 #### 类定义与成员变量 ```java package com.link; public class LinkedList<T> { private LinkNode<T> header = null; // 链表头节点 private LinkNode<T> last = null; // ...
标题 "doubly-linkList_java_" 暗示我们关注的是Java编程中关于双向链表(Doubly Linked List)的实现。双向链表是一种数据结构,它在单链表的基础上增加了一个指向前一个节点的指针,允许双向遍历。 在Java中,...
在C++或Java等面向对象的语言中,我们可以创建一个名为`LinkList`的类来实现链表的功能。标题提到的"linklist类,基本完成了大部分功能"意味着这个`LinkList`类可能已经实现了链表的基本操作。 链表的主要特点是非...
在本Java毕业设计项目中,主要探讨了两种重要的数据结构——ArrayList和LinkedList,它们都是Java集合框架中的核心组件,属于List接口的实现类。ArrayList和LinkedList各有特点,适合不同的应用场景,理解并掌握这两...
该ArrayList、LinkList链表接口实现是一个基于Java开发的应用程序,旨在为用户提供一个方便的工具来管理自己的数据。该应用包括源码、部署说明、系统文档和源码解释等资源,方便用户进行学习和实践。 在学习过程中...
### JAVA单向链表的实现知识点详解 #### 一、链表基础概念 在深入了解Java单向链表的具体实现之前,我们首先需要了解链表的基本概念。链表是一种线性数据结构,它由一系列节点组成,每个节点包含两部分:数据域和...
以下是一个简单的单向链表类`LinkList<T>`的实现: ```java public class LinkList<T> { public Node<T> head; // 头节点 // 构造函数 public LinkList() { head = new Node(); // 初始化头节点 } // 清空...
在Java编程语言中,ArrayList和LinkedList都是集合框架中两种重要的列表实现,它们分别基于不同的数据结构,具有不同的特性和性能特点。以下是对这两个类的详细分析: 1. 数据结构: - ArrayList是基于动态数组...
ArrayList和LinkedList是Java集合框架中的两种重要数据结构,它们都实现了List接口,但各自有其独特的特性和使用场景。在本教程中,我们将深入探讨这两种数据结构的实现,并结合Eclipse IDE进行实践。 首先,...
可以采用线性搜索,但更高效的算法如二分查找(对排序后的链表)或哈希表可能更适合。 6. **遍历与打印**:遍历链表并打印所有节点信息,这有助于查看和调试系统状态。 7. **内存管理**:为了防止内存泄漏,当不再...