数据结构中链表的题目

  • 题目

                    设计一个算法,要求将链表中所有节点的链接方向“原地”逆转,即要求仅利用原表的存储空间。

  • 对于这个问题,首先要分析的是:链表中的头和尾节点如何插入?其次就是:如何链接?

      搞懂这两个的问题,问题就迎刃而解了。

  • 这次用的代码,就是:c++软件。

       先写主函数,则代码为:

int main()
{LinkList LA;LinkList LC;int n;cout << "请输入需要创建单链表的长度:" << endl;cin >> n;cout << "请依次输入需要存入的数据(尾插法):" << endl;CreateList(LA, n);//函数的声明cout << "单链表A为:";display(LA);LC = new LNode;LC->next = NULL;//必须保证所创造的空间为空VerList_L(LA, LC);display(LC);return 0;
}

此对应的就是:主函数的代码。

  • 首先就是创建一个新的链表,也就是对GeateList(LA,n)进行声明和调用。则代码为:
//创建链表
int CreateList(LinkList &L,int n)
{LNode* p, * r;int i;L = new LNode;//新建一个空间L->next = NULL;//指向空指针r = L;for (i = 0; i < n; i++){p = new LNode;cin >> p->data;p->next = NULL;r->next = p;r = p;}return 0;
}

  • 接下来就是:输出链表,则代码为:

       

//输出链表
void display(LinkList L)
{LNode* p;p = L->next;cout << "(";while (p){cout << p->data << "";p = p->next;cout << ")" << endl;}}

  • 最后一步,逆转,则代码为:
//逆转
int VerList_L(LinkList &LA,LinkList &LC)
{LNode* pa;LNode* pc;pa = LA->next;pc = LC;while (pa){pc = pa;pa = pa->next;pc->next = LC->next;LC->next = pc;  //插入到表头}delete LA;
}

  • 这个就是这道题目的解题过程,如有错,请君指点。

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

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

相关文章

阅读笔记——《未知协议状态机推断技术研究综述》

【参考文献】盛嘉杰, 牛胜杰, 陈阳, 等. 未知协议状态机推断技术研究综述[J]. 计算机与现代化, 2023 (05): 58.【注】本文仅为作者个人学习笔记&#xff0c;如有冒犯&#xff0c;请联系作者删除。 摘要 协议逆向工程&#xff08;PRE&#xff09;描述了协议的行为逻辑&#xff…

spring cloud config server源码学习(一)

文章目录 1. 注解EnableConfigServer2. ConfigServerAutoConfiguration2.1 ConditionalOnBean和ConditionalOnProperty2.2 Import注解2.2.1. EnvironmentRepositoryConfiguration.class2.2.2. CompositeConfiguration.class2.2.3. ResourceRepositoryConfiguration.class2.2.4.…

python3 + selenium webdriver自动化测试启动不同浏览器

selenium webdriver自动化测试启动不同浏览器 selenium webdriver 介绍Selenium WebDriver 进行自动化测试的一般流程浏览器驱动下载浏览器驱动的安装chrome、edge、Firefox、Opera、Safari、phantomjs 应用Headless Chrome 、Headless Firefox 应用 selenium webdriver 介绍 …

shell命令运行原理及Linux权限问题

目录 shell命令以及运行原理用户管理添加用户删除用户sudo Linux权限的概念Linux权限管理文件访问者的分类&#xff08;人&#xff09;文件类型和访问权限&#xff08;事物属性&#xff09;文件权限值的表示方法文件访问权限的相关设置方法 目录的权限粘滞位 shell命令以及运行…

备考AMC8和AMC10竞赛,吃透2000-2024年1850道真题和解析(持续)

多做真题&#xff0c;吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一&#xff0c;通过做真题&#xff0c;可以帮助孩子找到真实竞赛的感觉&#xff0c;而且更加贴近比赛的内容&#xff0c;可以通过真题查漏补缺&#xff0c;更有针对性的补齐知识的短板。 今天我们继续…

PostgreSQL基本使用Schema

参考文章&#xff1a;PostgreSQL基本使用&#xff08;3&#xff09;Schema_pg数据库查询schema-CSDN博客 PostgreSQL 模式&#xff08;Schema&#xff09;可以理解为是一个表的集合&#xff08;或者所属者&#xff09;。 例如&#xff1a;在 MySQL 中&#xff0c;Scheam 是库&…

gcc源码分析(AST抽象语法树)

文章目录 三、AST相关1、AST(抽象语法树)1.1 树结点的声明1.2 树结点的结构1.2.1 tree_node联合体1.2.2 tree_base结构体1.2.3 tree_common结构体1.2.4 常量结构体1.2.5 **标识符节点**2、符号绑定,作用域与block树节点2.1 lang_identifier结构体2.2 c_binding结构体2.3 scop…

HLS视频加密,让您的视频内容更安全!

背景介绍 HLS视频加密是一种基于HTTP Live Streaming&#xff08;HLS&#xff09;协议的加密技术。它的核心思想是将视频切片进行加密处理&#xff0c;在客户端播放时需要先获取解密密钥才能正常偶发。通过这种方式&#xff0c;HLS加密可以有效防止未经授权的第三方窃取视频内…

测试短信推荐参考

短信测试参考 国外&#xff1a; smstome 支持多个国家号码 官网地址&#xff1a; https://smstome.com/ quackr.io 支持多个国家号码 官网地址&#xff1a; https://quackr.io/ receive-smss 支持多个国家号码 地址&#xff1a; https://receive-smss.com/ receive-sms-fr…

C#字典的常用方法

C#的字典&#xff08;Dictionary&#xff09;类是一个通用的集合类&#xff0c;它实现了键值对的存储和访问。以下是一些常用的字典方法&#xff1a; Add(key, value)&#xff1a;向字典中添加一个指定的键值对。Remove(key)&#xff1a;从字典中移除具有指定键的元素。Contai…

LLM大模型的7种推理框架分析

LLM的7种推理框架 Hugging Face的transformers 这是一个Python库&#xff0c;可以简化本地运行LLM的过程。 Transformers的优点&#xff1a; 自动模型下载提供代码片段非常适合实验和学习 Transformers的缺点&#xff1a; 需要对ML和NLP有深入了解需要编码和配置技能 2.L…

深度学习之基于Tensorflow低光增强的深层Retinex分解

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 在图像处理领域&#xff0c;低光照环境下的图像增强是一个具有挑战性的问题。为了提高图像的可…

纽曼新品X1000:轻巧便携仅重9.9公斤的1度电应急电源

在户外救援行动和应急设备中&#xff0c;电力供应的稳定性和安全性直接影响到救援工作的效率和成功率。在现代救援工作中&#xff0c;常见的光学声波探测仪、通信联络设备、气象检测仪、生命探测仪、照明设备等装备均需有持续的电力供应&#xff0c;才能保障救援工作的有序开展…

西门子WINCC8.0VBS脚本学习讲解

WinCC VBS脚本置位/复位/取反 二进制变量 "TAG1_BOOL1" 进行置位复位取反操作 步骤&#xff1a;按钮-->对象属性-->事件-->单击鼠标VBS动作填入代码如下: 对二进制变量进行复位 对二进制变量进行置位 对二进制变量进行取反 VBS脚本数学运算/读写批处理 …

第十六讲:数据在内存中的存储

第十六讲&#xff1a;数据在内存中的存储 1.整数在内存中的存储1.1存储方式1.2大小端字节序1.3大小端字节序排序规则1.4为什么要有大小端1.5练习1.5.1练习11.5.2练习21.5.3练习31.5.4练习41.5.5练习51.5.6练习61.5.7练习7 2.浮点数在内存中的存储2.1练习2.2浮点数的存储2.3浮点…

如何将数据从一部手机传输到另一部手机[安全快速]

概括 手机之间无需使用蓝牙即可传输文件&#xff0c;配合专业的文件传输工具更高效。本文将向您介绍几种使用不同的数据传输工具快速安全地将数据从一部手机传输到另一部手机的方法&#xff0c;特别是当有大文件或大量文件时。现在&#xff0c;我们来看看。 需要在朋友或家人之…

Rust 赋能前端 -- 写一个 File 转 Img 的功能

所有耀眼的成绩,都需要苦熬,熬得过,出众;熬不过,出局 大家好,我是柒八九。一个专注于前端开发技术/Rust及AI应用知识分享的Coder 此篇文章所涉及到的技术有 Rustwasm-bindgen/js-sys/web-sysWeb WorkerWebAssemblyWebpack/Vite配置WebAssemblyOffscreenCanvas脚手架生成项…

校园二手书交易|基于SprinBoot+vue的校园二手书交易管理系统(源码+数据库+文档)

校园二手书交易管理系统 目录 基于SprinBootvue的校园二手书交易管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3 卖家用户功能模块 4 用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

Linux:iptables防火墙部署优化之连接转移(目的地地址转化)

Linux&#xff1a;iptables防火墙部署优化之连接转移&#xff08;目的地地址转化&#xff09; 文章目录 Linux&#xff1a;iptables防火墙部署优化之连接转移&#xff08;目的地地址转化&#xff09;node1操作检测ip情况关闭firewalld防火墙服务&#xff0c;并锁定该服务开启ip…

什么是分布式会话

分布式会话是指在分布式系统中实现用户会话管理的一种机制。在传统的单服务器架构中&#xff0c;用户的会话数据通常存储在单个服务器或应用服务器的内存中。然而&#xff0c;随着业务的发展和用户量的增加&#xff0c;单服务器架构往往无法满足高可用性和高并发的需求&#xf…