2021-9-下旬 数据结构 - 线性表 - 循环链表 - java实现代码(复习用)
public class CycleLinkedListZH<E> {public static final int ELEMENT_NOT_FOUND = -1;private int size;//定义全局变量(不在函数里的)不初始化默认初始值为0,局部变量则初始值随机//链表注意的无非那几个:插入删除情况分类,空指针错误private CycleLinkedListZH.Node<E> headNode;private static class Node<E> {E element;CycleLinkedListZH.Node<E> next = null;public Node(E element, CycleLinkedListZH.Node<E> next) {this.element = element;this.next = next;}public Node() {}}public void clear(){headNode = null;size = 0;}public int getSize(){return size;}public void isEmptyPrint(){if (headNode == null){System.out.println("Empty");}else{System.out.println("Not Empty");}}public E getElement(int index){CycleLinkedListZH.Node<E> node = indexSearchNode(index);return node.element;}public void containsPrint(E element){CycleLinkedListZH.Node<E> node = headNode;for(int i = 0;i < size ; i++){if (node.element == element){System.out.println("Contain");return;}node = node.next;}System.out.println("Not Contain");}public void add(int index , E element){CycleLinkedListZH.Node<E> node = new Node<>();node.element = element;if (size == 0){headNode = node;node.next = node;}else if (index == 0){CycleLinkedListZH.Node<E> lastnode = indexSearchNode(size - 1);lastnode.next = node;node.next = headNode;headNode = node;}else{CycleLinkedListZH.Node<E> nodePre = indexSearchNode(index-1);node.next = nodePre.next.next;nodePre.next = node;}size++;}public void remove(int index){if (index == 0){CycleLinkedListZH.Node<E> lastNode = indexSearchNode(size - 1);lastNode.next = lastNode.next.next;headNode = headNode.next;}else if (size == 0||size == 1){headNode = null;} else{CycleLinkedListZH.Node<E> nodePre = indexSearchNode(index-1);nodePre.next = nodePre.next.next;}size--;}public void add(E element){add(size,element);}private CycleLinkedListZH.Node<E> indexSearchNode (int index){CycleLinkedListZH.Node<E> node = headNode;for (int i = 0; i<index; i++){node = node.next;}return node;}public String toString() {StringBuilder string = new StringBuilder();string.append("size=").append(size).append(" [");CycleLinkedListZH.Node<E> node = headNode;for (int i = 0; i < size; i++) {if (i != 0) {string.append(", ");}string.append(node.element);node = node.next;}string.append("]");return string.toString();}}
2021-9-下旬 数据结构 - 线性表 - 循环链表 - java实现代码(复习用)相关推荐
- 2021 - 9 -下旬 数据结构- 线性表 -双端循环队列 - java实现
//循环双端队列:Circle Double Ended Queue //本质是对动态数组的优化 //队头队尾都可以添加或删除元素 //相比于普通循环队列需要注意的点是在队头插入元素时的对front前 ...
- 2021 - 9 下旬 数据结构-线性表-循环队列-java实现代码
//循环队列,本质就是用动态数组实现的,且出队入队时间复杂度均O(1)的队列 //相比普通队列,增设一个front指针,代表队头,代表下一个出队的元素 //循环队列的重点在于队头队尾的元素的下标的计算 ...
- 数据结构-线性表(严书代码实现)
数据结构-线性表的顺序表示代码 //头文件内容实现 #ifndef SEQLIST_H_INCLUDED #define SEQLIST_H_INCLUDED #include<string.h ...
- 2021-9-下旬 数据结构-线性表-队列-java代码实现(复习用)
话说...每次都用现成的类实现,是不是有点偷懒 //队列的本质也是线性表,特性为只在线性表首位端进行操作,为先进先出,和生活中排队的队列是一样的 //队列涉及到的操作主要是入队(enQueue)和出队 ...
- 2021-9-下旬 数据结构-线性表- 栈 -java代码实现(复习用)
import java.util.ArrayList; import java.util.List; //栈的本质就是线性表,因为总在线性表的表尾端进行操作(出栈入栈),其重要特性为FILO先进后出 ...
- 2021-9-下旬 数据结构-线性表-链表-java代码实现(复习用)
链表涉及到指针了,这里我还不了解java里对指针的隐藏,又由于以前学过C++里的指针,二者混淆,导致一开始非常蒙,出了很多问题,当然后来随着边写边查,基本都解决了. 顺便学习了一下java里的泛型 / ...
- 2021-9-下旬 数据结构-线性表-双向链表-java代码实现(复习用)
public class DoubleLinkedListZH<E> {//调用方法参数是index的记得检测是否在合法范围(0~size-1)内,可以写一个arrangeCheck函数, ...
- 数据结构-线性表之带头结点的双向循环链表
文章目录 前言 实现 (1)结构定义 (2)基本函数 (3)操作实现 测试 代码 前言 链表的类型有很多种(根据带头或不带头,循环或非循环等等),但是我们重点研究的只有两种,一种结构非常简单是无头单向 ...
- 数据结构—线性表(第三章)—基本知识点总结
目录 1. 线性表的定义 2. 线性表的抽象数据类型 3.线性表的顺序存储结构 3.1 顺序存储定义 3.2 顺序存储方式 3.3 数据长度与线性表长度区别 3.4 地址计算方法 4. 顺序存储结构的 ...
最新文章
- 针对自己网站内容的搜索引擎代码
- 星空主题设计理念_敏捷协调,智慧运营:金蝶云·星空的产品设计理念与应用实践...
- qt 快速按行读取文件_这是知识点之Linux下分割文件并保留文件头
- 用python做数据分析流程图_使用Pyecharts进行高级数据可视化
- eclipse和Tomcat绑定
- linux 环境 RocketMQ 4.8.0 安装、部署控制台
- c语言选择结构程序if,C语言的选择结构 (if 语句 和 switch 语句)
- html中在哪儿使用div,使用javascript在html中使用div
- [C++11] 新特性总结
- npm 模块安装机制简介
- 一起来当网管(一)——Windows Server上的DHCP配置
- c语言什么意思 app 视频 新闻 视,C语言中csapp.h 是什么意思?
- 小学三年级计算机室使用计划,关于三年级信息技术教学计划(精选6篇)
- 【django】简易视频播放功能
- Linux网络虚拟化基石 network namespace
- attrib批量显示文件夹_怎样批量修改文件夹或文件的系统隐藏属性
- SOI round0 题解
- python分组统计数据_数据分组统计
- 新西兰java程序员_在新西兰做程序员是一种什么体验?解析新西兰计算机专业...
- java实验 月亮围绕地球转_月亮绕着地球转,地球围绕着太阳转,那么太阳围绕着什么转?...