数据结构-单向链表(JAVA实现).docx

数据结构-单向链表(JAVA实现).docx

ID:50840633

大小:42.45 KB

页数:13页

时间:2020-03-15

数据结构-单向链表(JAVA实现).docx_第1页
数据结构-单向链表(JAVA实现).docx_第2页
数据结构-单向链表(JAVA实现).docx_第3页
数据结构-单向链表(JAVA实现).docx_第4页
数据结构-单向链表(JAVA实现).docx_第5页
资源描述:

《数据结构-单向链表(JAVA实现).docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构-单向链表(JAVA实现)一、思想单向链表是一种线性表,但是它不会按线性的顺序存储数据,它存储的数据分散在内存中。单向链表由N各节点(Node)组成,每一个Node记录本Node的数据及下一个Node注[1]。注[1]:在C语言内的解释:每一个节点(Node)记录本节点的数据及下一个节点的内存地址。Node_1dataNextNode“123”Node_2Node_2dataNextNode“234”Node_3Node_3dataNextNode“456”Node_4Node_4dataNextNode

2、“790”null上图描述了单向链表存储情况。存储是分散的,每一个节点只要记录下一节点,就把所有数据串了起来,形成了一个线性表,即单向链表。一、程序简要说明程序对单向链表做了简单实现,实现的方法有:向链表的末尾增加一个元素publicbooleanadd(Edata)向链表的某一个位置插入一个元素publicvoidaddEByIndex(inti,EnewE)获取链表内某一个位置的元素publicEgetEbyIndex(inti)删除链表内某一个位置的元素publicvoiddeleteEByIndex(in

3、ti)程序分为三个文件1、节点定义publicclassNode2、链表定义及操作publicclassOneWayLinkedList3、测试文件publicclassTestMain一、程序Node类packagecom.linkedlist.oneWay;publicclassNode{privateEdata;//下一个元素privateNodenext;publicNode(Edata,Nodenext){this.data=data;if(next==null){}els

4、e{this.next=next;}}publicEgetData(){returndata;}publicvoidsetData(Edata){this.data=data;}/***获取上下一个元素*@return*/publicNodegetNext(){returnnext;}/***设置下一个元素*@paramnext*/publicvoidsetNext(Nodenext){this.next=next;}}OneWayLinkedList类packagecom.linkedlist.on

5、eWay;/***根据数据结构单向链表原理,简单实现单向链表。*单向链表主要是记录链表中的第i个元素a,及a的下一个元素(第i+1个元素)b。*a与b组成的数据称为单向链表的一个节点。*链表有N个节点组成。*@authordev1**@param*/publicclassOneWayLinkedList{//第一个元素privateNodefirst;//最后一个元素privateNodelast;privateintsize=0;publicOneWayLinkedList(){}/**

6、*向列表最后追加元素**@paramdata*@return*/publicbooleanadd(Edata){if(this.last==null){if(this.first==null){//第一个元素this.first=newNode(data,null);}else{//第二个元素this.last=newNode(data,null);this.first.setNext(this.last);}}else{Nodenode=this.last;NodenewNode=new

7、Node(data,null);node.setNext(newNode);this.last=newNode;}this.size++;returntrue;}/***获取第i个位置的元素**@parami*@return*/publicEgetEbyIndex(inti){Nodenode=getNodeByIndex(i);returnnode.getData();}/***向i节点插入一个元素*@parami*@paramnewE*/publicvoidaddEByIndex(inti,Ene

8、wE){Nodeni=getNodeByIndex(i-1);NodenewNode=newNode(newE,ni.getNext());ni.setNext(newNode);this.size++;}/***获得某一个节点*@parami*@return*/publicNodegetNodeByIndex(inti){Nodenode=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。