热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java中实现链表(转)

分析:上述节点具备如下特征:1、每个节点由两部分组成(存储信息的字段,存储指向下一个节点的指针)2、节点之间有

分析: 
上述节点具备如下特征: 
1、 每个节点由两部分组成(存储信息的字段,存储指向下一个节点的指针) 2、 节点之间有着严格的先后顺序。 
3、 单链表节点是一种非线性的结构,在内存中不连续分配空间。

 设计: 

设计节点 

设计涉及到算法: 初始化单链表: 
1、 提供一个init方法,用来加载链表数据 2、 实现链表的链接。

具体代码如下:

public class Linker {  public NODE head; //define the initial function to init the single linker! public void init(char v_char[])  {  NODE ptr  NODE p = new NODE();  
head 
&#61; p; for(int i &#61; 0; i < v_char.length;i&#43;&#43;)   
{    
ptr 
&#61; new NODE();   ptr.info &#61; v_char[i]; p.link &#61; ptr;   ptr.link &#61; null;   p &#61; ptr; 
}
//define search in linker public boolean searchinlinker(char ch)  {  
 boolean flag &#61; false;   NODE ptr; ptr &#61; head.link;   while( ptr !&#61; null)   {    

if(ch &#61;&#61; ptr.info)    {  
   flag &#61; true;   
  break; }   
 
else  {   
ptr 
&#61; ptr.link;    }    return flag; } //define the insert fuction public void insertintolinker(char pos,char ch)  {   
NODE ptr;  
NODE p; 
ptr 
&#61; head.link;  
while( ptr !&#61; null)   
{    
if(pos &#61;&#61; ptr.info)    {     

//实现数据插入     p &#61; new NODE();     p.info &#61; ch;     p.link &#61; ptr.link;     ptr.link &#61; p;     break; }    else {    
ptr 
&#61; ptr.link;    } }   //defin the delete function 
 
public void deletefromlinker(char ch)
{   NODE ptr;   NODE p; ptr 
&#61; head.link;   p &#61; head; while( ptr !&#61; null)   {    
if(ch &#61;&#61; ptr.info)    {    
 //实现数据删除 p.link &#61; ptr.link;    
 System.gc();     break; }    else   
 {     p &#61; ptr; ptr &#61; ptr.link;    }  } }     //defin the print linker  public void printlinker()  {   NODE ptr; ptr &#61; head.link;   while (ptr !&#61; null)   {   
 System.out.print("  " &#43; ptr.info &#43; "->");    ptr &#61; ptr.link;   } System.out.println("null");    } 
}

 

转:https://www.cnblogs.com/0927wyj/p/5053535.html



推荐阅读
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有