专栏首页闵开慧java中链表实现

java中链表实现

package linklist;

public class Node {
	public int iData;
	public double dData;
	public Node next;

	public Node(int iData, double dData) {
		this.iData = iData;
		this.dData = dData;
	}

	public void displayLink() {
		System.out.println("{" + iData + "," + dData + "}");
	}
}


package linklist;

public class LinkList {
	private Node head;

	public LinkList() {
		head = null;
	}

	public void insertFirst(int iData, double dData) {
		Node newNode = new Node(iData, dData);
		newNode.next = head;
		head = newNode;
	}

	public Node find(int key) {
		Node currentNode = head;
		while (currentNode.iData != key) {
			if (currentNode.next == null)
				return null;
			else
				currentNode = currentNode.next;
		}
		return currentNode;
	}

	public Node delete(int key) {
		Node currentNode = head;
		Node previousNode = head;
		while (currentNode.iData != key) {
			if (currentNode.next == null)
				return null;
			else {
				previousNode = currentNode;
				currentNode = currentNode.next;
			}
		}
		if (currentNode == head) {
			head = head.next;
		} else {
			previousNode.next = currentNode.next;
		}
		return currentNode;
	}

	public void displayList() {
		System.out.println("List(first-->last):");
		Node currentNode = head;
		while (currentNode != null) {
			currentNode.displayLink();
			currentNode = currentNode.next;
		}
		System.out.println();
	}

	public static void main(String[] args) {
		LinkList linkList = new LinkList();
		linkList.insertFirst(1, 12);
		linkList.insertFirst(2, 234);
		linkList.insertFirst(3, 11234);
		linkList.insertFirst(4, 2342);
		linkList.insertFirst(5, 2342);
		linkList.insertFirst(6, 234);
		linkList.insertFirst(7, 3452);
		linkList.displayList();
		Node find = linkList.find(4);
		if (find != null)
			System.out.println("The dData of the " + find.iData + " is "
					+ find.dData);
		else
			System.out.println("There is no " + find.iData);
		Node delete = linkList.delete(4);
		if (delete != null) {
			System.out.println("The dData of the " + delete.iData + " is "
					+ delete.dData);
		} else {
			System.out.println("There is no " + delete.iData);
		}
		linkList.displayList();
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ubuntu中安装tomcat

    1.安装jdk6 shell>sudo apt-get install sun-java6-jdk(用新得立软件包安装) 2.下载tomcat6 下载地址是:h...

    闵开慧
  • ubuntu下jdk安装配置(简单快捷型)

    1 先将hadoop用户权限改为root的就可以执行sudo gedit命令打开文件进行配置,修改权限操作为 root@ubuntu : nano/etc/su...

    闵开慧
  • junit入门实例

    1 junit测试用例代码 package junitTest; import static org.junit.Assert.*; import org....

    闵开慧
  • GRPC-C++源码分析(十一)--bind&listen

    路小饭
  • 最新Jetson NANO官方资料汇总:你要的电路图终于来了

    NVIDIA在官网网站上发布了几个关于Jetson NANO的资料。Lady带大家梳理一下。

    GPUS Lady
  • 简单易学的机器学习算法——非线性支持向量机

    一、回顾 image.png 二、非线性问题的处理方法     在处理非线性问题时,可以通过将分线性问题转化成线性问题,并通过已经构建的线性支持向量机来处理。如...

    zhaozhiyong
  • 深圳scala-meetup-20180902(1)- Monadic 编程风格

    刚完成了9月份深圳scala-meetup,趁刮台风有空,把我在meetup里的分享在这里发表一下。我这次的分享主要分三个主题:“Monadic编程风格“、...

    用户1150956
  • 简单易学的机器学习算法——非线性支持向量机

        前面三篇博文主要介绍了支持向量机的基本概念,线性可分支持向量机的原理以及线性支持向量机的原理,线性可分支持向量机是线性支持向量机的基础。对于线性支持向量...

    zhaozhiyong
  • 跨境电商海外仓:WMS的出库功能设计

    上一篇和大家分享了海外仓WMS的入库功能设计的一些细节和容易踩坑的点,今天这篇接着上文,继续来谈谈关于出库功能的设计有哪些需要注意的细节和坑。

    物流IT圈
  • 基于局部脑血流量和工作记忆表现预测2年内血压变化

    贝叶斯推荐你关注思影科技 来自美国匹兹堡大学精神病与心理学部的J.Richard Jennings等人在Hypertension杂志上发文指出,基于ASL成像的...

    用户1279583

扫码关注云+社区

领取腾讯云代金券