企业链表(未完成)

文章目录

  • 1. 插入
  • 2. 类型转换说明
  • 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  nextdata->next = curNode->next;curNode->next = data;list->size++;
}

2. 类型转换说明

参考:有关企业链表中数据类型的强制转换
此处说明:


struct Person
{// 注意LinkNode的位置,放置在首位;// main中:insert(list, 0, (LinkNode*)&p1);// (LinkNode*)&p1取首地址,即LinkNode的地址;// 这样的话在insert中作为节点插入;LinkNode node;std::string name;int age;
};int main()
{LinkList* list = init();Person p1, p2, p3, p4, p5;p1.name = "11";p1.age = 11;p2.name = "22";p2.age = 22;p3.name = "33";p3.age = 33;p4.name = "44";p4.age = 44;p5.name = "55";p5.age = 55;insert(list, 0, (LinkNode*)&p1);insert(list, 0, (LinkNode*)&p2);insert(list, 0, (LinkNode*)&p3);insert(list, 0, (LinkNode*)&p4);insert(list, 0, (LinkNode*)&p5);LinkNode* curNode = list->head.next;while (curNode) {// (Person*)curNode:curNode的地址也即是Person的首地址LinkNodePerson* p = (Person*)curNode;std::cout << p->name << p->age << std::endl;curNode = curNode->next;}destroy(list);return 0;
}

2. 代码实现

#pragma oncestruct 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  nextdata->next = curNode->next;curNode->next = data;list->size++;
}int find(LinkList* list, LinkNode* node) { return 0; }void remove(LinkList* list, int pos) {}int size(LinkList* list)
{if (!list)return -1;return list->size;
}void destroy(LinkList* list)
{if (!list)return;list->size = 0;delete list;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac 配置环境变量

Mac 配置环境变量 修改配置文件 vim ~/.bash_profile i进入编辑模式. Esc&#xff1a;wq 保存文件 esc:q 退出 如&#xff1a;jdk环境变量配置 JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/HomeCLASSPATH$JAVA_HOME/lib/tools.jar:$JAVA_HOME/…

目标检测 图像处理 计算机视觉 工业视觉

目标检测 图像处理 计算机视觉 工业视觉 工业表盘自动识别&#xff08;指针型和数值型&#xff09;智能水尺识别电梯中电动车识别&#xff0c;人数统计缺陷检测&#xff08;半导体&#xff0c;电子元器件等&#xff09;没带头盔检测基于dlib的人脸识别抽烟检测和睡岗检测/驾驶疲…

GAMP源码阅读:卫星位置钟差计算

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 1、satposs_rtklib()2、ephclk()1. eph2clk()&#xff1a;时钟校正参数&#xff08; a f 0 、 a f 1 、 a f 2 a_{f0}、a_{f1}、a_{f2} af0​、af…

vim

简介 vim是一款多模式的文本编辑器&#xff0c;vim里面还有很多子命令&#xff0c;来进行代码的编写操作 常用模式图 命令模式 光标移动 shif $ 光标定义到当前行的最右侧结尾 shift ^ 光标定义到当前行的最左侧开头 shift g 光标定位到文本最末尾…

怎样解决“缺失msvcp110.dll”错误,msvcp110.dll的修复教程

在计算机使用过程中&#xff0c;我们可能会遇到一些系统错误提示&#xff0c;比如“msvcp110.dll文件丢失”。这是因为msvcp110.dll是Microsoft Visual C 2012的一个动态链接库文件&#xff0c;如果这个文件丢失或者损坏&#xff0c;就可能导致某些程序无法正常运行。那么&…

stm32整理(三)ADC

1 ADC简介 1.1 ADC 简介 12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道&#xff0c;可测量来自 16 个外部 源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续 采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位…

IT老鸟给开发者升职加薪的小技巧

前言&#xff1a; 升职加薪对大多数人来说都是工作重要动力所在&#xff0c;但总存在“青出于蓝而胜于蓝”&#xff0c;后来人居上的情况。很多人不清楚&#xff0c;自己兢兢业业&#xff0c;任劳任怨&#xff0c;到头来还是得不到领导的重视&#xff0c;身边一起过来的同事都成…

算法笔记【6】-简单选择排序算法

文章目录 一、基本原理二、实现步骤三、优缺点分析 一、基本原理 在排序算法中&#xff0c;简单选择排序是一种基本且直观的排序方法。尽管它的性能较冒泡排序稍好&#xff0c;但仍然属于较慢的排序算法。本文将详细介绍简单选择排序算法的原理、步骤&#xff0c;并讨论其优缺…

C++之string

C之string #include <iostream>using namespace std;/*string();//创建一个空的字符串string(const char* s);//使用字符串s初始化string(const string& str);//使用一个string对象初始化另外一个string对象string(int n,char c);//使用n个字符c初始化*/void test1()…

验证链(CoVe)降低LLM中的幻觉10.31

验证链&#xff08;CoVE&#xff09;降低LLM中的幻觉 摘要1 引言2 相关工作3 验证链&#xff08;Chain-of-Verification&#xff09;3.1 生成基准回答3.2 计划验证3.3 执行验证3.4 最终验证的回答 4 实验&#xff08;直译&#xff09;4.1 任务4.1.1 WIKIDATA4.1.2 WIKI-CATEGOR…

Java程序员面试核心知识--Java基础知识(一)

目录 一、Java程序初始化顺序 二、Java的Clone方法作用 三、 OverLoad&#xff08;重载&#xff09;与Override&#xff08;重写&#xff09;区别 四、abstract class&#xff08;抽象类&#xff09;与interface&#xff08;接口&#xff09;的异同 五、String、StringBuf…

(免费领源码)springboot#MYSQL钓鱼交友平台小程序33506-计算机毕业设计项目选题推荐

目 录 摘要 1 绪论 1.1课题目的与意义 1.2国内外研究现状 1.3论文结构与章节安排 1.4小程序框架以及目录结构介绍 2 Springboot钓鱼交友平台小程序系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统流程分析 2.2…