热门标签 | 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



推荐阅读
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • Splay Tree 区间操作优化
    本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
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社区 版权所有