数据结构 --java实现单链表
1) 链表是以节点的方式来存储, 是链式存储
2) 每个节点包含 data 域, next 域:指向下一个节点.
3) 链表的各个节点不一定是连续存储.
4) 链表分 带头节点的链表和 没有头节点的链表,根据实际的需求来确定
代码实现
package com.testlist;/*** 数据结构-链表的实现*/
public class LinkedListDemo {public static void main(String[] args) {MyLinkedList linkedList = new MyLinkedList();HeroNode node1 = new HeroNode(1, "李白", null);HeroNode node2 = new HeroNode(2, "李二", null);HeroNode node3 = new HeroNode(3, "李三", null);linkedList.add(node1);linkedList.add(node2);linkedList.add(node3);linkedList.list();//节点删除// linkedList.delete(3);linkedList.list();HeroNode updateNode = new HeroNode(2, "修改", null);linkedList.update(updateNode);linkedList.list();}/*** 定义链表类*/static class MyLinkedList {/*** 定义一个头节点*/private HeroNode head = new HeroNode(0, "", null);/*** 定义add方法*/public void add(HeroNode node) {//temp是一个辅助节点,相当一一个指针,方便进行遍历HeroNode temp = head;while (true) {if (temp.next == null) {temp.next = node;break;} else {temp = temp.next;}}}/*** 进行链表的遍历*/public void list() {/*** 定义一个临时节点,相当一个指针,方便进行遍历*/HeroNode temp = head;while (true) {//最后一个节点if (temp.next == null) {//打印最后一个节点System.out.println(temp);break;} else {System.out.println(temp);temp = temp.next;}}}/*** 节点的删除*/public void delete(int no) {//临时节点HeroNode temp = head;while (true) {if (temp.next == null) {System.out.println("该node不存在,删除失败");break;} else {if (temp.next.no == no) {temp.next = temp.next.next;break;}temp = temp.next;}}}/*** 节点的修改*/public void update(HeroNode node) {//临时节点HeroNode temp = head;while (true) {if (temp.next == null) {System.out.println("该节点不存在,节点修改失败");break;} else {if (temp.next.no == node.no) {temp.next.name = node.name;break;}temp = temp.next;}}}}/*** 定义node节点信息*/static class HeroNode {private int no;private String name;private HeroNode next;public HeroNode(int no, String name, HeroNode next) {this.no = no;this.name = name;this.next = next;}public int getNo() {return no;}public void setNo(int no) {this.no = no;}public String getName() {return name;}public void setName(String name) {this.name = name;}public HeroNode getNext() {return next;}public void setNext(HeroNode next) {this.next = next;}@Overridepublic String toString() {return "HeroNode{" +"no=" + no +", name='" + name + '\'' +"" +'}';}}
}
数据结构 --java实现单链表相关推荐
- java实现单链表常见操作,java面试题,java初级笔试题
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 一. ...
- 数据结构与算法--单链表相关面试题
此文章仅作为自己学习过程中的记录和总结,同时会有意地去用英文来做笔记,一些术语的英译不太准确,内容如有错漏也请多指教,谢谢! 一.概述 获取单链表的有效元素个数[新浪面试题1] 获取单链表倒数第k个结 ...
- python数据结构基础(单链表,多链表,二叉树)
python数据结构基础(单链表,多链表,二叉树) 数据结构指数据对象中数据元素之间的关系 Python 给我们提供了很多现成的数据结构类型,这些系统自己定义好的,不需要我们自己去定义的数据结构叫做 ...
- 数据结构之——《单链表》
数据结构之--<单链表> 1.链表概念 2.链表分类 3.接口函数实现 1.链表概念 链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现. ...
- 数据结构精讲——单链表
新手必会数据结构精讲--单链表 链表的介绍 概念:链表是一种物理存储结构上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 . 实际中链表的结构非常多样,以下情况组合起来就 ...
- java单链表通讯录_[Java教程]用java实现单链表(菜鸟出征)
[Java教程]用java实现单链表(菜鸟出征) 0 2016-03-24 14:00:06 package code;class Node{ Node next; int data; public ...
- Java实现单链表、栈、队列三种数据结构
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:远航 cnblogs.com/yang-guang- ...
- 【算法数据结构Java实现】Java实现单链表
1.背景 单链表是最基本的数据结构,仔细看了很久终于搞明白了,差不每个部分,每个链都是node的一个对象.需要两个参数定位:一个是index,表示对象的方位.另一个是node的对象. 2.代码 nod ...
- java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...
转载请注明出处:http://blog.csdn.net/xdz78 #include #include //查找单链表中的特定元素,<数据结构与算法--c语言描述> 3.11 答案 in ...
最新文章
- mysql构架,索引,视图,查询语句
- 口令即漏洞 放弃它吧
- os_mem.c(全)
- blob转file对象_JavaScript Blob 对象解析
- redis缓存穿透、缓存击穿、缓存雪崩概念及解决方案
- 20应用统计考研复试要点(part30)--简答题
- 高密自智,体小量大,希捷Exos Corvault存储系统为数据洞察赋能
- 模仿vue自己动手写响应式框架( - v-for
- 在Javascript中得到站点的根路径
- java访问win10共享盘失败_Win10不能访问共享磁盘的解决方法(亲测能用)
- 游戏筑基开发之利用文件函数读出文件数据及处理(反序列化)(C语言)
- 手把手教你用C语言实现求质数(素数),5大方法任君挑选
- 裸辞后,随便找份工作干着还是等找到满意的为止?
- 继 layui 之后, jQuery Mobile 宣布完全弃用!
- Java实现合成图片
- 伤害世界怎么自建服务器,《伤害世界Hurtworld》服务器架设方法图文详解 怎么开服?...
- 怎么查看一段时间的计算机ip,如何查看电脑中使用过的历史IP地址
- ORA-00600:[qctcte1]内部错误一例
- 编程不只是兴趣爱好,更是优秀成长路径,您了解吗?
- 我在蚂蚁金服技术风险部做“医生”