Java_循环链表.docx_第1页
Java_循环链表.docx_第2页
Java_循环链表.docx_第3页
Java_循环链表.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习数据结构已经三天,刚开始自然遇到线性表。其中线性表内含顺序表和链表。顺序表较为简单,仅仅需要一个数组就可以完成,当然最好也要添加一个表示长度的数据成员,如size。而链表,显然比较多变看,小可不才,用了将近三天的时间才能明白,不能不说见笑于大方之家;皆因链表之中还有循环链表,双向链表,双向循环链表。好了,言归正传:循环链表的程序奉上:链表,不过增(insert)删(delete)改(update)查(select)而已。在于Java程序中,还要加上构造(Java有垃圾回收机制,故没有析构,但可以手动回收)。先看代码如下:1、关于构造函数,小生理解到:需要什么样的初始化,就写出什么样的构造函数,当然,没有时也可以构造一个空的构造函数;本人就节点有一个构造函数2、在方法中,注意index的具体代表就行。其中,在找上一节点时,很多重复了,可以另外写入一个函数中。3、最后只是一个测试形式的,可以自己设置4、自认为一个比较简单的程序了package link;class Node public int num;public Node next;public Node(int num, Node next) this.num = num;this.next = next;public class CycleList public Node head;public int size;public void insertHead(int element) /在头结点的地方插入if(size = 0)head = new Node(element, null);head. next = head;else Node no = head;head = new Node(element, no);size +;public void insert(int index, int element) /插入元素if (size = 0) head = new Node(element, head); else if (index size) index = size;Node no1 = head;for (int i = 0; i index - 1; i+) no1 = no1.next;Node no2 = new Node(element, no1.next);no1.next = no2;size+;public void delete(int index) / 删除函数if (index size) index = size;Node no3 = head;for (int i = 0; i index - 1; i+) no3 = no3.next;no3.next = no3.next.next;size-;public void select() / 查询所有元素int sizelong = size;Node no4 = head;for (int i = 0; i sizelong; i+) System.out.print(no4.num);no4 = no4.next;public void update(int index, int element) /更换index位置的内容Node no7 = head;for(int i=0; iindex-1; i+)no7 = no7.next;no7.num = element;public void sel(int index) /查询index位置的内容Node no8 = head;for(int i=0; iindex-1; i+)no8 = no8.next;System.out.println(no8.num);public static void main(String args) CycleList cl = new CycleList();cl.insert(0, 4); / index 代表第几个后面,当然,第0个后面,即为插头节点cl.insert(2, 2); / 无论插入还是删除cl.insert(3, 5); /更改很准确cl.insert(4, 6); / 查询单个也是可以的cl.insert(5, 9);cl.select();System.out.print( -);cl.insert(0, 8); cl.select();System.out.print( -);cl.insertHead(3);cl.select();System.out.println(-);cl.de

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论