单向链表JAVA代码
//单向链表类
publicclassLinkList{
//结点类
publicclassNode{
publicObject data;
publicNode next;
publicNode(Object obj,Node next){
this.data = obj;
this.next = next;
}
}
Node head; //记录头结点信息即可(头结点下标为-1)
int size;
publicLinkList()
{
this.head =newNode(null, null);
this.size =0;
}
//定位
publicNode locate(int index) throws Exception
{
//容错性
if(index <-1|| index > size)
thrownewException("参数错误!");
//定位到temp指向第index个(index为下标,从0开始)
Node temp = head;
for(int i =-1; i < index; i++)
if(temp != null)
temp = temp.next;
return temp;
}
publicvoiddelete(int index) throws Exception
{
//容错性
if(isEmpty())
thrownewException("链表为空,无法删除!");
if(index <0|| index > size -1)
thrownewException("参数错误!");
Node temp = locate(index -1); //定位到要操作结点的前一个结点对象
temp.next = temp.next.next;
size--;
}
publicvoid insert(int index,Object obj) throws Exception
{
//容错性
if(index <0|| index > size )
thrownewException("参数错误!");
Node temp = locate(index -1); //定位到要操作结点的前一个结点对象
Node p =newNode(obj,temp.next);
temp.next = p;
size++;
}
public boolean isEmpty(){
return size==0;
}
publicint size(){
returnthis.size;
}
}
publicclassTest{
publicstaticvoid main(String[] args) throws Exception{
LinkListlist=newLinkList();
for(int i =0; i <10; i++){
int temp =((int)(Math.random()*100))%100;
list.insert(i, temp);
System.out.print(temp +" ");
}
list.delete(4);
System.out.println("\n"+"after deleting the 5th number:");
for(int i =0; i <list.size; i++){
System.out.print(list.locate(i).data.toString()+" ");
}
}
}
29263748496266877839
after deleting the 5th number:
292637486266877839
转载于:https://www.cnblogs.com/Doing-what-I-love/p/5533090.html
单向链表JAVA代码相关推荐
- 浅谈:数据结构之单链表,java代码演示单链表
单链表 本文是观看尚硅谷韩老师视频学习总结,部分来源网络. 单链表介绍 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每 ...
- 反转单向链表(JAVA)
在微博看到,有人说8个应届毕业生没有人写出o(1)空间复杂度,o(n)时间复杂度的反转单向链表. (不是我自己想的) public void reverseList(ListNode head) {L ...
- 2021-9-下旬 数据结构-线性表-链表-java代码实现(复习用)
链表涉及到指针了,这里我还不了解java里对指针的隐藏,又由于以前学过C++里的指针,二者混淆,导致一开始非常蒙,出了很多问题,当然后来随着边写边查,基本都解决了. 顺便学习了一下java里的泛型 / ...
- [Java数据结构][3]单链表以及双向链表Java代码实现
单链表Java代码实现,以水浒英雄链表为例 文章目录 单链表Java代码实现,以水浒英雄链表为例 定义一个英雄链表 定义一个SingleLinkedList 用于管理结点 初始化头结点以及添加结点到单 ...
- java集合单向链表_Java实现单向链表数据结构
本文章同步到本人的博客站点 燕归来 链表是一种数据结构,和数组同级.比如,Java中我们使用的ArrayList,其实现原理是数组.而LinkedList的实现原理就是链表了.链表在进行循环遍历时效率 ...
- 长风破浪会有时:单向链表、双向链表和循环链表图文解析
链表的种类有很多.我们常常会用到的链表有:单向链表.双向链表和循环链表. 链表不同于数组的地方在于:它的物理存储结构是非连续的,也就是说链表在内存中不是连续的,并且无序.它是通过数据节点的互相指向实现 ...
- JavaScript的数据结构与算法(三) —— 单向链表
链表 链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的.每个元素由一个存储元素本事的节点和一个指向下一个元素的引用组成.相对于传统的数组,链表的一个好处在于,添加或者删除元素 ...
- 单向链表 双向链表 java代码实现
文章目录 单向链表 代码实现 单元测试 控制台打印 头插法 尾插法 双向链表 代码实现 单元测试 控制台打印 头插法 尾插法 单向链表 代码实现 package csdn.dreamzuora.lis ...
- Java数据结构与算法-SingleLinkedList单向链表插入,删除,查找,修改详解及代码
SingleLinkedList单向链表插入,删除,查找,修改详解及代码 单向链表学习目标 1. 链表的介绍 2. 单向链表的存储特点以及原理 3. 基本操作:插入,删除等 4. 单向链表应用场景举例 ...
最新文章
- 自己动手做一个小Linux-2
- 你以为在做的是微服务?不!你只是做了个比单体还糟糕的分布式单体!
- mysql 设置电脑时间设置_怎样设置mysql密码
- 【NLP】授人以渔:分享我的文本分类经验总结
- bzoj4025-二分图【线段树分治,并查集】
- java.sql.SQLException: Access denied for user ‘root‘@‘hadoop001‘ (using password: YES)
- CELL_TYPE_STRING cannot be resovled or is not a field
- 下一代防火墙评测--网界
- TikTok和抖音差别大吗?
- 可口可乐中国联袂青年志发布《中国青年「在乎力」报告》
- html怎么设置视频为背景图片,如何给视频加上背景图片
- 微信域名防封的3种方案
- 西门子smart plc远程监控应用实例
- SpringBoot生成二维码 扫描并可下载文件
- 用Android 写生成的梅花
- 京东到家数据构造平台设计与实践
- 详解物联网常用协议:IIC和RS485通信协议
- matlab二阶滤波器设计,基于matlab的各类滤波器设计
- 函数中的形式参数和实际参数
- 【亡羊补牢】JS灵魂之问 第23期 修炼内功 关于闭包的回顾