链表---头插法+尾插法

news2024/9/23 9:37:27

本博客介绍了单链表的实现,以及头插法尾插法的代码实现

1.定义一个结点类
class ListNode{
    int value;
    ListNode next;

    public ListNode(int value) {
        super();
        this.value= value;
    }

    @Override
    public String toString() {
        return "ListNode{" +
                "value=" + value +
                ",next=" +next +
                '}';
    }
}
2.定义单链表类

设置头指针用于指向第一个结点

public class LinkList {
    public ListNode head;

}
3.头插法
//头插法
    public void Headinsert(int value){
        //创建结点
        ListNode node = new ListNode(value);
        if(head==null){
            head=node;
            return;
        }
        node.next=head;
        head=node;
    }
4.尾插法
//尾插法
    public void insert(int value){
        ListNode node = new ListNode(value);
        if (head==null){
            head=node;
            return;
        }
        ListNode flag = head;
        //用flag游标找到尾节点
        while (flag.next!=null){
            flag=flag.next;
        }
        flag.next=node;
    }
5.输出结点值

定义printLink类,用于输出链表结点

//输出链表上的值
    public void printLink() {
        //定义flag游标进行遍历
        ListNode flag = head;
        while(flag!=null) {
            System.out.print(flag.value+" ");
            flag=flag.next;
        }
        System.out.println();
    }
6.测试
public class Test {
    public static void main(String[] args) {
        LinkList linkList = new LinkList();
        //尾插法
        linkList.insert(5);
        linkList.insert(2);
        linkList.insert(7);
        linkList.insert(5);
        linkList.insert(3);
        linkList.printLink();
        
        //头插法
        linkList.Headinsert(8);
        linkList.Headinsert(7);
        linkList.Headinsert(6);
        linkList.Headinsert(5);
        linkList.printLink();

    }
}
7.输出结果

读者可自行测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1915610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 自定义Edittext 和TextView 提示文字和填入内容不同的粗细组件

近期项目中又EditText 以及TextView 这两个组件需要用到提示文字 以及 填入文字要保持不同的粗细程度,所以记录一下 首先 是EditText 组件的自定义 BLEditText 继承的这个组件是一个三方的组件,可以在很大程度上减少drawable的编写,有兴趣的可以去相关的Git去看一下 点击查看,…

excel有条件提取单元格特定文本(筛选纯文字的单元格或含有数字的单元格、单元格提取不同的文本长度)

实际工作背景 需要对导出的银行流水中的数十个村以及对应的村小组进行分组统计,但是初始的表格中村和小组是混在一起的,如下图所示: 目的:将大树村和大树村小组名称分别筛选出来 1.观察发现,大树村小组的单元格第4…

构建与操作顺序栈

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝黑暗的笼罩更会凸显光明的可贵! 顺序栈是数据结构中栈(Stack)的一种具体实现方式,它使用一段地址连续的内存空间(通…

电子电气架构 --- 关于DoIP的一些闲思 下

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看!

空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看! 关键词:2024深圳eVTOL展 动力电池 高能量密度电池 高性能电池材料 作为2024深圳eVTOL展重要组成部分,2024深圳eVTOL动力电池展将于9月23-25日在深圳坪山燕子湖国际会…

Mac的系统数据怎么删除 cleanmymac会乱删东西吗 cleanmymac有用吗

作为一款专业级的苹果电脑清理软件,CleanMyMac可以精准识别系统垃圾,有效防止Mac系统数据被误删。软件可以深入系统底层,清理无用的系统数据,优化苹果电脑设置,提升Mac系统性能。有关Mac的系统数据可以删吗&#xff0c…

基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库

研究背景 随着互联网和移动设备的普及,音乐流媒体服务成为人们获取音乐的主要方式。这些平台如Spotify、Apple Music和网易云音乐等,提供了海量的音乐资源,使用户能够随时随地聆听各种类型的音乐。然而,如何在海量的音乐资源中快…

笔试算法刷题

猿辅导2021校园招聘笔试(算法一) 牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 (nowcoder.com) 第一眼看到这个题想到的是蓝桥杯飞机降落,贪心题。但是这样算的是最大不相交区间数量&#xff0…

米家立式学习灯怎么样?书客、米家、孩视宝三款护眼大路灯巅峰PK!

米家立式学习灯怎么样?不知从什么时候开始,青少年成为了近视重灾区,主要促成近视的原因有长时间接触电子产品、学习时的不正确姿势、不良的灯光环境等,除了减少电子产品的使用以及多室外活动之外,剩下的就是室内孩子经常学习的光…

致远CopyFile文件复制漏洞

复现版本 V8.0SP2 漏洞范围 V5&G6_V6.1至V8.0SP2全系列版本、V5&G6&N_V8.1至V8.1SP2全系列版本。 漏洞复现 上传文件 POST /seeyon/ajax.do?methodajaxAction&managerNameportalCssManager&rnd57507 HTTP/1.1 Accept: */* Content-Type: applicatio…

GD32F303之CAN通信

1、CAN时钟 GD32F303主时钟频率最大是120Mhz,然后APB1时钟最大是60Mhz,APB2时钟最大是120Mhz,CAN挂载在APB1总线上面 所以一般CAN的时钟频率是60Mhz,这个频率和后面配置波特率有关 2、GD32F303时钟配置 首先我们知道芯片有几个时钟 HXTAL:高速外部时钟&#xff1…

Python打开Excel文档并读取数据

Python 版本 目前 Python 3 版本为主流版本,这里测试的版本是:Python 3.10.5。 常用库说明 Python 操作 Excel 的常用库有:xlrd、xlwt、xlutils、openpyxl、pandas。这里主要说明下 Excel 文档 .xls 格式和 .xlsx 格式的文档打开和读取。 …

STMF4 硬件IIC(天空星开发板)

前言:笔记参考立创开发文档,连接放在最后 #IIC概念介绍 #IIC介绍 IIC通信协议,一种常见的串行通信协议,英文全程是 Inter-Integrated Circuit 使用这种通信方式的模块,通常有SCL(Serial Clock Line&…

请编写函数,删除字符串中指定位置下的字符,删除成功函数返回被删字符,否则返回空值

char arr_del(char* p, int pos) {if (pos> strlen(p) || pos<0){printf("这是一个无效下标\n");exit(1);}//到这里就是有效下标char ch p[pos];//把要删除的下标存储for (int i pos; p[i] ! \0; i){p[i] p[i 1];}return ch; } int main() {char arr[100];…

昂科烧录器支持ZhiXin智芯半导体的中低端微控制器Z20K118M

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中ZhiXin智芯半导体的中低端微控制器Z20K118M已经被昂科的通用烧录平台AP8000所支持。 Z20K118M基于ARMCortex-M0内核&#xff0c;支持内部64MHz或外部40MHz主频&#xff0c;内部…

多GPU系统中的CUDA设备不可用问题

我们在使用多GPU系统时遇到了CUDA设备不可用的问题&#xff0c;详细情况如下&#xff1a; 问题描述&#xff1a; 我们在一台配备有8块NVIDIA GeForce RTX 3090显卡的服务器上运行CUDA程序时&#xff0c;遇到了如下错误&#xff1a; cudaErrorDevicesUnavailable: CUDA-capabl…

RedHat Linux8 修改root管理员账户密码命令

RedHat Linux8 修改root管理员账户密码命令&#xff1a; sudo passwd root RedHat重置root管理员密码&#xff1a; 1. 查看Linux系统版本信息 cat /etc/redhat-release2. 重置密码 2.1 进入内核编辑界面 重启Linux系统并出现引导界面&#xff0c;按下键盘上的e键进入内…

PostgreSQL 中如何处理数据的并发更新冲突解决?

文章目录 一、并发更新冲突的场景二、PostgreSQL 中的并发控制机制&#xff08;一&#xff09; 封锁机制&#xff08;二&#xff09; 事务隔离级别 三、并发更新冲突的解决方法&#xff08;一&#xff09; 重试机制&#xff08;二&#xff09; 使用乐观并发控制&#xff08;三&…

一句歌词描述夏天

夏天总是带着一种奇特的魔力&#xff0c;既能让人沉醉在阳光和海浪的浪漫中&#xff0c;也能在炎热与燥热中让人心生烦闷。特别是在夏日里情绪低落时&#xff0c;那些可以抚平心情的歌曲显得尤为珍贵。音乐&#xff0c;这个神奇的存在&#xff0c;总能在最需要的时候带来心灵的…

[激光原理与应用-107]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 10 - 什么是虚焊,如何检测虚焊?

目录 一、前言&#xff1a;虚焊概述 1.定义与特征 2.产生原因 3.危害与影响 4.预防措施 二、虚焊的检测方法 2.1 概述 1. 直观检查法 2. 晃动法 3. 敲击法 4. 补焊法 5. 非破坏性检测方法 6. 电性能测试 2.2 示例 一、前言&#xff1a;虚焊概述 虚焊是一种常见的…