当前位置: 首页 > news >正文

链表:头插法与尾插法 - Higurashi

一、头插法

定义:头插法是指在链表头部进行节点插入的方法。其核心特点是,新插入的节点总成为链表的第一个有效节点。因此,如果按数据1, 2, 3的顺序进行头插操作,最终链表的节点排列顺序将是3, 2, 1。简而言之,头插法实现的是逆序插入

代码示例:使用头插法建立单链表

我们首先定义链表节点结构:

class ListNode {int data;ListNode next;public ListNode(int data) {this.data = data;this.next = null;}public ListNode() {this(0); // 无参构造:用于头结点}
}

然后新建一个单链表类,后面将在该类基础上补充头插和尾插对应方法:

import java.util.Scanner;public class LinkedList {private ListNode head; // 头结点(dummy node),不存有效数据private Scanner scanner;public LinkedList() {this.head = new ListNode(); // 创建头结点,next = nullthis.scanner = new Scanner(System.in);}// 工具方法:遍历打印链表(不含头结点)public void print() {ListNode p = head.next;System.out.print("链表内容:");if (p == null) {System.out.println("空");return;}while (p != null) {System.out.print(p.data + " -> ");p = p.next;}System.out.println("null");}// 获取头结点(仅用于测试或外部操作)public ListNode getHead() {return head;}// 关闭 scanner(避免资源泄露)public void close() {scanner.close();}
}

下面是使用头插法创建链表的代码:

// 头插法:逆序插入
public void headInsert() {System.out.print("请输入节点数据(输入 -1 结束):");int x = scanner.nextInt();while (x != -1) {ListNode newNode = new ListNode(x);// 关键两步(头插核心)newNode.next = head.next;head.next = newNode;System.out.print("请输入节点数据(输入 -1 结束):");x = scanner.nextInt();}
}

图示如下:

小结:头插法通常应用于需要将数据进行逆序存储的场景,例如链表逆置操作。

二、尾插法

定义:尾插法是指在链表尾部进行节点插入的方法。其主要特点是,新插入的节点总成为链表的最后一个有效节点。因此,如果按数据1, 2, 3的顺序进行尾插操作,最终链表的节点排列顺序依然是1, 2, 3。简而言之,尾插法实现的是顺序插入

代码示例:使用尾插法建立单链表

// 尾插法:顺序插入
public void tailInsert() {ListNode tail = head; // tail 指向当前尾节点(初始为头结点)System.out.print("请输入节点数据(输入 -1 结束):");int x = scanner.nextInt();while (x != -1) {ListNode newNode = new ListNode(x);// 关键两步(尾插核心)tail.next = newNode;tail = newNode; // 更新尾指针System.out.print("请输入节点数据(输入 -1 结束):");x = scanner.nextInt();}// 最后一个节点的 next 本来就是 null,可省略;显式写出更清晰tail.next = null;
}

图示如下:

尾插法的特点:在整个插入过程中,通过维护一个指向当前表尾的指针tail,可以高效地在链表末尾添加新节点,而无需每次都遍历链表来查找尾部。

http://www.gsyq.cn/news/77360.html

相关文章:

  • 2025年十大液压站厂家排行榜,液压站标准件厂家与定制生产服
  • 百奈子产品耐用吗?用户群体解析TOP5榜单:中国国货眼部抗衰
  • 机械制造企业高性价比磨床评测:上海佑台如何平衡品质与成本
  • 2025年宁波高精度地磅厂家推荐,智能地磅厂家哪家靠谱?十大
  • 2025年数字人厂商哪家好?哪家性价比更高?TOP10深度解析与推荐
  • 2025上海商务空间地毯清洗优质品牌推荐指南
  • 2025年汽车托运避坑指南:精选优质公司名单,专业的汽车托运找哪家解决方案与实力解析
  • 最新发布!2025年数字人哪家好?哪家更值得推荐?
  • 学习记录
  • 2025年锅炉节省天然气公司权威推荐:锅炉节气/锅炉节能减排/低氮燃烧器源头厂家精选
  • 2025年水果盒吸塑机批发厂家权威推荐榜单:电子托盘吸塑机‌/塑料盒吸塑机‌/一次性杯盖吸塑机‌‌源头厂家精选
  • 2025年家用制暖设备品牌权威推荐榜单:暖气片‌/空气能‌/取暖器‌‌品牌精选
  • 2025年中国外墙砖品牌排行榜:迪泉外墙砖防滑性如何
  • 基于FPGA的QPSK+卷积编码Viterbi译码通信系统开发,包含帧同步,高斯信道,误码统计,可设置SNR
  • 2025年武汉五大西点西餐职业教育机构排行榜,新东方西点西餐
  • 2025年中国五大防盗门售后服务公司推荐:北京春天防盗门值得
  • 详细介绍:STM32—— 嵌入式微控制器入门
  • 2025仓储货架厂家排行:四大维度筛选靠谱供应商
  • 2025 年 12 月 GEO 推荐:服务响应高效的核心优质标杆
  • 详细介绍:算法通关指南:数据结构和算法篇 --- 队列相关算法题》--- 1. 【模板】队列,2. 机器翻译
  • 2025年企业出海意大利新选择!推荐Safeguard Global名义雇主EOR人力资源服务商
  • 2025年絮凝剂定制厂家权威推荐:碱式聚合氯化铝/生产聚合氯化铝/聚合氯化铝铁源头企业精选
  • Electron.js 详解、应用场景及完整案例
  • 2025年五大台球桌品牌技术实力排行榜:英森台球桌技术实力如
  • 2025年12月制造业咨询公司推荐:专业排行榜单全面解析
  • 2025年全国防盗门售后电话推荐,广东星月神防盗门售后全解析
  • 2025年五大专业的互联网医院代办咨询公司推荐,互联网医院申
  • 2025年全国五大防盗门品牌公司推荐:北京春天防盗门售后服务
  • 2025年12月制造业咨询公司推荐榜:权威评测与综合实力对比分析
  • 2025年12月制造业咨询公司推荐:服务实力排行榜与实战效果评估