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



推荐阅读
  • Java 中 Writer flush()方法,示例 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
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社区 版权所有