Java实现链表结构的详细代码
来源:互联网 发布:进销存erp软件 编辑:程序博客网 时间:2024/04/27 21:16
一、数据准备
1. 定义节点
2. 定义链表
1.数据部分
2.节点部分
class DATA //数据节点类型{ String key; String name; int age; } class CLType //定义链表结构{DATA nodeData =new DATA();CLType nextNode;}
二、追加节点
- 首先分配内存,保存新增节点
- 从头应用head开始追个检查,直到找到最后结点
- 将表尾结点地址部分设置为新增节点的地址
- 将新增节点的地址部分置为null
CLType CLAddEnd(CLType head,DATA nodeData){ CLType node,temp; if((node=new CLType()==null){ System.out.println("申请内存失败"); return null; //申请内存失败} else{ node.nodeData=nodeData; node.nextNode=null; if(head==null) { head =node; return head; } temp=head; while(temp!=null){ temp=temp.nextNode; //查找链表的末尾 } temp.nextNode=node; return head;}}
三、插入头结点
- 分配内存空间
- 使新增节点指向head
- 使head指向新增节点
CLType CLAddFirst(DATA nodeData,CLType head){ CLType node; if((node=new CLType())==null) { return null;
} else{ node.nodeData=nodeData; node.nextNode=head; head=node; return head; }}
四、查找节点
CLType CLFindNode(CLType head,String key){ CLType temp; temp =head; while(temp!=null){ if(temp.nodaData==key) return temp; temp=temp.nextNode; } return null;}
五、插入节点
CLType CLInsentNode(CLType head,String findkey,DATA nodeData){ CLtype node,nodetemp; if((node=new CLType())==null) { System.out.println("申请内存失败!"); return null; } node.nodaData=nodeData; nodetemp=(head,findkey); //查找对应节点 if(nodetemp!=null) //若找到节点 { node.nextNode=nodetemp.nextNode; nodetemp.nextNode=node; } else { System.out.println("未找到正确的插入位置!"); } return head;}
六、删除节点
int CLDeleteNode(CLType head; String key){ CKtype node,temp; node = head; temp = head; while(temp!=null) { if(temp.nodeData.key.compareTo(key)==0) { node.nextNode=temp.nextNode; temp=null; return 1; } elas { note=temp; temp=temp.nextNode; } } return 0;}
七、计算链表长度
int CLLength(CLType head ){ CLType temp; temp = head; int length=0; while(temp!=null) { length++; temp=temp.nextNode; } return length;}
八、显示所有节点
void CLAllNode(CLType head){ CLType temp; DATA nodeData; temp = head; System.out.println("当前链表共有"+CLLength(head)+"个节点。链表数据如下:"); while(temp!=null) { nodeData=temp.nodeData; System.out.println(""+nodeData.key+nodeData.name+nodeData.age); temp=temp.nextNode; }}
0 0
- Java实现链表结构的详细代码
- Java实现队列结构的详细代码
- java 实现二叉树结构的基本运算详细代码
- Java实现栈结构详细代码
- 基本算法思想Java实现的详细代码
- 基本算法思想Java实现的详细代码
- 用JAVA实现文本形式的树状结构显示代码
- Java实现链表结构
- java实现链表结构
- java实现链表结构
- java实现链表结构
- Java实现链表结构
- java.io的详细代码
- Java实现拷贝文件详细代码
- java 规范的代码结构
- Java 基于链表的栈结构实现
- Java实现链表结构的头插法与尾插法
- 二.链表的结构与实现(Java)
- 数据挖掘 关联规则的FP-growth-tree(FP增长树)的python实现 使用方法
- (4.5.3.6)failure [INSTALL_FAILED_NO_MATCHING_ABIS]
- twitter storm常用命令
- hdu 2604 Queuing【递推+矩阵快速幂】
- 正则表达式
- Java实现链表结构的详细代码
- error MSB8031: Building an MFC project
- Java 疑难杂症一
- liunx 中 for in使用
- 日常整理的一些网址
- C++学习基础
- SICP学习笔记:用高阶函数作抽象(1)
- MFC——9.多线程与线程同步
- tomcat study 第九章:session管理