企业链表(未完成)

news2024/11/15 4:38:44

文章目录

  • 1. 插入
  • 2. 代码实现

1. 插入

在这里插入图片描述

// 插入
void insert(LinkList* list, int pos, LinkNode* data)
{
    if (!list || !data)
        return;

    if (pos < 0 || pos > list->size)
        return;

    LinkNode* curNode = &(list->head);
    for (int i = 0; i < pos; ++i) {
        curNode = curNode->next;
    }

    // 插入新节点
    // cur  insert  next
    data->next = curNode->next;
    curNode->next = data;

    list->size++;
}

2. 代码实现

#pragma once

struct LinkNode
{
    LinkNode* next;
};

// 链表节点
struct LinkList
{
    LinkNode head;
    int size = 0;
};

// 初始化链表
LinkList* init()
{
    LinkList* list = new LinkList();
    list->head.next = nullptr;
    list->size = 0;

    return list;
}

// 插入
void insert(LinkList* list, int pos, LinkNode* data)
{
    if (!list || !data)
        return;

    if (pos < 0 || pos > list->size)
        return;

    LinkNode* curNode = &(list->head);
    for (int i = 0; i < pos; ++i) {
        curNode = curNode->next;
    }

    // 插入新节点
    // cur  insert  next
    data->next = curNode->next;
    curNode->next = data;

    list->size++;
}

// 查找
int find(LinkList* list, LinkNode* node);

// 删除
void remove(LinkList* list, int pos);

// 大小
int size(LinkList* list);

// 释放
void ddstroy(LinkList* list);

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

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

相关文章

jenkins工具系列 —— 删除Jenkins JOB后清理workspace

文章目录 问题现象分析解决思路脚本实现问题现象分析 Jenkins使用过程中,占用空间最大的两个位置: 1 、workspace: 工作空间,可以随便删除,删除后再次构建时间可能会比较长,因为要重新获取一些资源。 2 、job: 存放的是项目的配置、构建结果、日志等。不建议手动删除,…

任正非说:浑水摸鱼,只有强者才能摸到鱼。

嗨&#xff0c;你好&#xff01;这是华研荟【任正非说】系列的第24篇文章&#xff0c;让我们聆听任正非先生的真知灼见&#xff0c;学习华为的管理思想和管理理念。 一、只强调精细化管理&#xff0c;公司是会萎缩的&#xff0c;精细化管理的目的&#xff0c;是为了扩张不陷入混…

最新版上门服务小程序源码 同城技师上门服务系统源码

最新版上门服务小程序源码 同城技师上门服务系统源码 需要了解的请看文末 系统介绍&#xff1a; 1、数据概况&#xff08;新增业务城市用户投票功能&#xff0c;更加直观的查看业务城市的关注度、人气和影响力,促进业务开展&#xff09; 2、数据概况 &#xff08;增加可视化…

【Linux命令】Linux常见命令介绍(最强超详细版本)

Linux常见命令 1. Linux 常用命令1.1 用户配置 2.目录及文件操作3. 文件查看及处理命令3. 其他命令 1. Linux 常用命令 1.1 用户配置 Linux 下有两种用户&#xff1a;超级用户&#xff08; root&#xff09; &#xff09; 、普通用户。 a) 超级用户&#xff1a;可以再 linux …

Linux开发者的利器:深入了解环境开发工具之yum篇

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; &#x1f354;前言&#xff1a;在博主的博客中&#xff0c;Linux系统我们已经将关键指令、权限等等全部了解完了。接下来我们应该学习什么呢&#xff1f;当我们拿起一个手机或电脑&#xff0c;我们最先想到的就是下载QQ、…

什么是Webpack?它的主要功能是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

内网渗透-域信息收集

域环境 虚拟机应用&#xff1a;vmware17 域控主机&#xff1a;win2008 2r 域成员主机&#xff1a;win2008 2r win7 一.域用户和本地用户区别 使用本地用户安装程序时&#xff0c;可以直接安装 使用域用户安装程序时&#xff0c;需要输入域控管理员的账号密码才能安装。总结…

【Proteus仿真】【STM32单片机】便携式恒温箱设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用报警模块、LCD1602显示模块、DS18B20温度模块、加热制冷模块、按键模块、HC05蓝牙模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1…

最新Ai智能创作系统源码V3.0,AI绘画系统/支持GPT联网提问/支持Prompt应用+搭建部署教程

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

HDRI贴图下载及Three.js利用

最令人兴奋的项目之一是在 Three js 中添加HDRI背景。 HDRI图像是从房间内部或花园、丛林或山脉等开放环境等场景中以 360 度捕获的。 你可以自己创建任何这些图像&#xff0c;但这不是本教程的主题。 相反&#xff0c;我们将从网站获取这些图像之一&#xff0c;并使用轨道控件…

(免费领源码)小程序+spring boot+mysql疫起买菜平台99212-计算机毕业设计项目选题推荐

摘 要 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;疫起买菜平台小程序被用户普遍使用&#xff0c;为方便用户…

Transformer.js简明教程【Web AI】

Transformers.js 可在你的 Web 浏览器中实现最先进的机器学习&#xff0c;无需服务器。 它提供预训练模型和熟悉的 API&#xff0c;支持自然语言处理、计算机视觉、音频和多模态领域的任务。 借助 Transformers.js&#xff0c;开发人员可以直接在浏览器中运行文本分类、图像分类…

一文详解Docker与虚拟机的不同

Docker概述 Docker 是基于 Linux 内核的 cgroup&#xff0c;namespace&#xff0c;以及 AUFS 类的 Union FS 等技术&#xff0c;对进程进行封装隔离&#xff0c;属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程&#xff0c;因此也称其为容器。最初…

SurfaceFliger与Vsync信号如何建立链接?

Vsync信号上报流程 Vsync的注册函数&#xff0c;来临时会回调HWComposer的hook_VSYNC方法&#xff0c;接着调用到vsync方法中 大致流程梳理&#xff1a; 该方法会通知给SurfaceFliger的onVsyncReceived方法&#xff0c;接着调用DispSync的addResyncSample方法。 DispSyncThr…

Vue.js中的双向数据绑定(two-way data binding)

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

如何在外SSH远程连接Ubuntu系统【无公网IP】

如何在外SSH远程连接Ubuntu系统【无公网IP】 文章目录 如何在外SSH远程连接Ubuntu系统【无公网IP】前言1. 在Ubuntu系统下安装cpolar软件2. 完成安装后打开cpolar客户端web—UI界面3. 创建隧道取得连接Ubuntu系统公网地址4. 打开Windows的命令界面并输入命令 前言 随着科技和经…

Java访问直接内存

一、背景 上一篇文章 类目体系设计总结&#xff0c;讲了Forest缓存数据是放在直接内存的&#xff0c;今天我们就来了解一下Java的直接内存是个啥玩意&#xff0c;它该怎么使用。 二、直接内存介绍 直接内存是在Java堆外的&#xff0c;直接向系统申请内存空间&#xff0c;它不…

哈希映射题·缺失的第一个正数

记录一道题解&#xff5e; 题目链接&#xff1a;缺失的第一个正数 解题思路&#xff1a; 理想情况下每个元素都在自己的位置上&#xff0c;如下&#xff1a; 现在将元素对应位置打乱&#xff0c;并且缺失了一个元素&#xff0c;如下&#xff1a; 题目就是要求我们找到这个缺失…

【论文阅读】End-to-End Spatio-Temporal Action Localisation with Video Transformers

文章目录 摘要和结论引言模型框架Vision EncoderTubelet Decoder(factorise Queries CA MHSA)Training objectiveMatching 摘要和结论 e2e&#xff0c;纯基于Transformer的模型&#xff0c;输入视频输出tubelets。无论是 对单个帧的稀疏边界框监督 还是 完整的小管注释。在这两…

【设计模式】第7节:创建型模式之“建造者模式”

Builder模式&#xff0c;中文翻译为建造者模式或者构建者模式&#xff0c;也有人叫它生成器模式。 在创建对象时&#xff0c;一般可以通过构造函数、set()方法等设置初始化参数&#xff0c;但当参数比较多&#xff0c;或者参数之间有依赖关系&#xff0c;需要进行复杂校验时&a…