双链表关于根据排名添加节点时操作时辅助节点的选取问题_链表辅助节点-程序员宅基地

技术标签: java 双向链表  数据结构与算法  

最近再看数据结构与算法(java)种的链表。发现“Java 数据结构与算法视频教程全集(195P)| 50 小时从入门到精通”中讲解的双链表中,留下根据排名添加元素操作为课后作业,这里分享一下实现代码,欢迎各位大佬指正。
例如:以水浒元素为例,节点内容包括:英雄编号、英雄姓名、英雄绰号、前后指针。`

class HeroNode2 {
public int no;
public String name;
public String nickname;
public HeroNode2 pre,next;

public HeroNode2(int no, String name, String nickname) {
	this.no = no;
	this.name = name;
	this.nickname = nickname;
}

// 重写tostring
@Override
public String toString() {
	return "HeroNode [no=" + no + ", name=" + name + ", nickname=" + nickname + "]";
}

}

对应的管理节点列表为:

class SingleLinkedList2 {
	// 初始头节点
	private HeroNode2 head = new HeroNode2(0, "", "");
``// 根据排名添加英雄,如果有这个排名则添加失败
	public void addByorder(HeroNode2 heroNode) {
		HeroNode2 temp = head;// 寻找添加位置的当前结点
		boolean flag = false;// 标志添加的编号是否存在,默认false
		//有这几种情况:1,空链表;2,带添加序号已存在,则不能添加;3,可以添加
		while (true) {
			if (temp == null) {
				break;
			}
			//若添加位置在两节点中间时,返回上一个节点
			if(temp.no > heroNode.no) {
				temp = temp.pre;
				break;
			}
			else if (temp.no == heroNode.no) {
				flag = true;
				break;
			}
			temp = temp.next;
		}
		if (flag) {
			System.out.printf("编号%d已存在不能加入\n", heroNode.no);
		} else {
			heroNode.next = temp.next;
			temp.next = heroNode;
			heroNode.pre = temp;
		}
	}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_47535434/article/details/107152664

智能推荐

数据模型的含义是什么?为什么要建立数据模型_什么是数据模型-程序员宅基地

文章浏览阅读9.8k次。数据模型(Data Model)是2113数据特征的5261抽象。数据(Data)是描述事物的符号记录,模型(4102Model)是现实世界的抽象。数据1653模型从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。数据模型所描述的内容有三部分:数据结构、数据操作和数据约束。扩展资料:数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。1、数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型_什么是数据模型

探索Dashicons:WordPress的图标字体库-程序员宅基地

文章浏览阅读316次,点赞3次,收藏6次。探索Dashicons:WordPress的图标字体库项目地址:https://gitcode.com/WordPress/dashicons项目简介Dashicons是WordPress官方开发的一个图标字体库,它提供了一系列SVG图标供开发者在构建WordPress主题和插件时使用。这些图标具有高度可定制性、轻量级且易于集成的特点,旨在提升用户体验并增强界面设计的一致性。技术分析字体...

前端程序调试方法总结--初级版_数据库前端调试方法-程序员宅基地

文章浏览阅读674次。文章目录VUE程序调试的方法1.写本文的背景2.调试与测试3.Console调试法3.1 添加console.log指令3.2 调出温度界面如下3.3 Google浏览器的Console窗口3.4 console.error输出3.5 浏览器输出4.alert 调试法4.1 alert方法代码4.2 alert提示效果5 断点调试法5.1 设置断点5.2 运行代码5.3 输入关心的属性5.3.1 ..._数据库前端调试方法

2023年第七届强网杯初赛 WP_2023强网杯赛题-程序员宅基地

文章浏览阅读1.8k次,点赞22次,收藏21次。最坏情况下,前5次全输,需要87步即可达到260分,即第92轮时,因此可以通过本题。利用SQL注入修改data数据的值,本题data是数组,且会插入数据库,最终的payload需要改一下让前后闭合,且TP5,在网上找一个链子的EXP改一下。当然,前一题的SQL注入点依然存在,不过依然需要鉴权进入后台,这意味着,只需要我们能进入后台,就能通过load_file的方式读取flag。简单来说,就是能set任意的值,例如下方的payload,就能注入一个snowwolf的键,且值为wolf,4代表数据长度。_2023强网杯赛题

JavaWeb CURD 一键生成,再也不要重复搬砖了!【免费源码】_基于java类的curbecms-程序员宅基地

文章浏览阅读836次,点赞2次,收藏2次。简介本文将给您介绍 AppAdmin 后台管理系统开发框架。AppAdmin后台管理系统开发框架是一套Java开发的整合了当前众多比较流行的Java后台开发框架的系统,使用H5响应式布局。整合了 spring + springMVC + hibernate (JPA) + shiro + ehcache 等框架,功能包括基本的系统管理、权限、角色、存储(oss、本地、ftp)、缓存、站内信、..._基于java类的curbecms

记录:jackson报错问题:com.fasterxml.jackson.core.TSFBuilder-程序员宅基地

文章浏览阅读9.2k次。背景:java -jar启动报错,但是本地idea运行正常。环境:jdk1.8jackson: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.5</version&_com.fasterxml.jackson.core.tsfbuilder

随便推点

Andorid 屏幕适配_android dpi适配-程序员宅基地

文章浏览阅读188次。1、dpi是什么?2、dp和px转换3、适配策略(宽度百分比,高度长宽比)_android dpi适配

VUE导入项目问题解决办法:找不到依赖此文件夹缺少 ‘node_modules‘。请安装依赖后再尝试导入。_此文件夹缺少 'node_modules'。请安装依赖后再尝试导入。-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏8次。从Gitee上拉取前端项目,导入vue时遇到问题时分析过程_此文件夹缺少 'node_modules'。请安装依赖后再尝试导入。

C语言实现基2DIF-FFT算法(桑德·图基快速傅立叶变换)_桑德图基-程序员宅基地

文章浏览阅读9.1k次,点赞8次,收藏31次。傅立叶变换能将时域信号转换为由sin函数为基底的频域信号,从而我们可以从信号中提取出频率信息或截断频谱简化信号压缩信息。计算机难以处理连续信号。DFT是一种适用于计算机处理的有限信号时频转换方法。DFT用一句话概括,就是将连续信号(频域也是连续函数)经过时域采样(这样会使信号的频域发生周期延拓,得到周期连续的函数,计算机无法处理),再经过频域采样(这样会使时域信号发生周期延拓,时域周期延拓这一步可..._桑德图基

指针的基本知识_指针指向的是值还是地址-程序员宅基地

文章浏览阅读1.4k次。指针一、指针是什么1、指针是什么?指针理解的2个要点:1. 指针是内存中一个最小单元的编号,也就是地址;2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量总结:指针就是地址,口语中说得指针通常值得是指针变量2、指针变量我们可以通过&(取地址操作符)取出变量的内存真实地址,吧地址可以存放到一个变量中,这个变量就是指针变量。实例#include <stdio.h> { int a=10; _指针指向的是值还是地址

力扣Leetcode 2 两数相加 Add Two Numbers_力扣 2. 两数相加 add two numbers 调试-程序员宅基地

文章浏览阅读85次。暴力法递归法_力扣 2. 两数相加 add two numbers 调试

单目深度估计评估指标_单目系统中的量化评估指标-程序员宅基地

文章浏览阅读7.6k次,点赞15次,收藏35次。KITTI Depth以及ScanNet评估指标 指标 名称 表达式 abs rel. absolute relative error mae mean absolute error log mae mean absolute logarithmic error imae inverse mean absolu..._单目系统中的量化评估指标

推荐文章

热门文章

相关标签