实验4(数据结构课程实验)

题目:

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

代码:

/*
实验4
设计一个算法,将不带头节点的单链表所有结点的连接方向“原地”逆转,
即要求利用原表的存储空间。
*/
#include <iostream>
using namespace std;
typedef int ElemType;
typedef struct LNode{ElemType data;struct LNode *next;
}LNode,* LinkList;//尾插法
void CreateList_R(LinkList &L,int n)
{LinkList tail,pnew;L=new LNode;cin>>L->data;tail=L;tail->next=NULL;for(int i=0;i<n-1;i++){pnew=new LNode;cin>>pnew->data;tail->next=pnew;tail=pnew;pnew->next=NULL;}
}
//打印链表
void PrintList_L(LinkList L)
{while(L){cout<<L->data<<" ";L=L->next;}cout<<endl;
}
//逆转链表
LinkList ReverseList(LinkList &L,int n)
{if(n==1)	//如果只有一个结点return L;LinkList p,q,r;p=L;q=p->next;r=q->next;while(r){q->next=p;p=q;q=r;r=r->next;}q->next=p;L->next=NULL;return q;
}
int main()
{LinkList L;int n;	//结点数cout<<"Please input the number of nodes:\n";cin>>n;cout<<"Please input "<<n<<" numbers\n";CreateList_R(L,n);//后插法建表cout<<"Your LinkList is:\n";PrintList_L(L);//打印链表LinkList rail=ReverseList(L,n);cout<<"After reversing,your LinkList is:\n";PrintList_L(rail);//打印链表return 0;
}

输入输出

Please input the number of nodes:
5
Please input 5 numbers
1 2 3 4 5
Your LinkList is:
1 2 3 4 5
After reversing,your LinkList is:
5 4 3 2 1

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

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

相关文章

GIt的原理和使用(五):模拟多人协作的两种情况

目录 多人协作 多人协作一 准备工作 协作开发 多人协作二 准备工作 额外场景 申请单合并分支 更推荐写法 远程分支删除后&#xff0c;本地git branch -a依然能看到的解决办法 多人协作 多人协作一 目标&#xff1a;在远程master分支下的file.txt文件新增代码“aaa”…

鸿蒙OS开发实例:【窥探网络请求】

HarmonyOS 平台中使用网络请求&#xff0c;需要引入 "ohos.net.http", 并且需要在 module.json5 文件中申请网络权限, 即 “ohos.permission.INTERNET” 本篇文章将尝试使用 ohos.net.http 来实现网络请求 场景设定 WeiBo UniDemo HuaWei : 请求顺序WeiBo1 UniDem…

华为数通 HCIP-Datacom H12-831 题库补充(3/27)

2024年 HCIP-Datacom&#xff08;H12-831&#xff09;最新题库&#xff0c;完整题库请扫描上方二维码&#xff0c;持续更新。 如图所示&#xff0c;关于R4路由器通过IS-IS计算出来的IPv6路由&#xff0c;哪一选项的描述是错误的&#xff1f; A&#xff1a;R4通过IS—IS只学习到…

基于SpringBoot的“校园台球厅人员与设备管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“校园台球厅人员与设备管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统首页界面图…

【OpenEuler】Docker部署Oracle和SQL Server

背景 国产化的浪潮&#xff0c;也打到了我的头上 安装步骤 Oracle docker run -d -p 1521:1521 -p 8080:8080 --name oracle_11g -e ORACLE_HOME/home/oracle/app/oracle/product/11.2.0/dbhome_2 -e ORACLE_SIDhelowin registry.cn-hangzhou.aliyuncs.com/helowin/oracle_…

达梦数据库的会话数限制

达梦可以通过初ini参数MAX_SESSIONS在全局设置数据库的最大连接数&#xff0c;也可以在创建用户时指定SESSION_PER_USER选项针对特定用户进行限制。 无论哪种限定&#xff0c;到达规定的会话数时客户端都将报如下错误&#xff1a; [-6001]:Exceed maximum session limitation.…

PCL拟合并绘制平面(二)

使用RANSAC拟合点云平面 1、C实现2、效果图 普通的点云平面拟合方式在一般情况下可以得到较好的平面拟合效果&#xff0c;但是容易出现平面拟合错误或是拟合的平面不是最优的情况。此时就需要根据自己的实际使用情况&#xff0c;调整平面拟合的迭代次数以及收敛条件。 使用RAN…

智慧工地整体解决方案(1)

背景 建筑行业是我国国民经济的重要物质生产部门和支柱产业之一,在改善居住条件、完善基础设施、吸纳劳动力就业、推动经济增长等方面发挥着重要作用。与此同时,建筑业也是一个安全事故多发的高危行业。近年来,在国家、各级地方政府主管部门和行业主体的高度关注和共同努力下…

亚马逊测评新策略:解决底层环境防关联,提升下单成功率

对于做测评的环境系统&#xff0c;确保稳定性和成功率是非常重要的。市面上有各种环境方案&#xff0c;如虚拟机、模拟机、gcs、云手机、VPS等。然而&#xff0c;这些方案不仅成本高&#xff0c;而且成功率很低。因此&#xff0c;一个好的环境系统是成功的基础。 亚马逊平台的…

Python 从0开始 一步步基于Django创建项目(8)使用表单编辑既有条目

与《Python 从0开始 一步步基于Django创建项目&#xff08;6&#xff09;》中的表单应用不同。 前者&#xff0c;是使用表单&#xff0c;提交新数据&#xff0c;新增内容。 本文&#xff0c;是使用表单&#xff0c;对既有数据&#xff0c;进行修改。 因为是对既有数据进行修…

vue v-model(二)

v-model 的参数​ 组件上的 v-model 也可以接受一个参数&#xff1a; <MyComponent v-model:title"bookTitle" /> 在子组件中&#xff0c;我们可以通过将字符串作为第一个参数传递给 defineModel() 来支持相应的参数&#xff1a; <!-- MyComponent.vue …

蓝桥杯23年第十四届省赛-接龙数列|DFS、线性DP

题目链接&#xff1a; 1.接龙数列 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2023年第十四届省赛真题-接龙数列 - C语言网 (dotcpp.com) 说明&#xff1a; dfs要注意&#xff0c;不能连上的时候绝对不选&#xff1b;能连上的时候可以选&#xff0c;也可以不选。不选的dfs分支是必须经过…

记录rocketMQ5.+启动报错解决过程

1.根据官方文档指引下载对应的rocketMQ源码包&#xff0c;上传到服务器解压 2. 启动NameServer nohup sh bin/mqnamesrv & 验证namesrv是否启动成功 tail -f ~/logs/rocketmqlogs/namesrv.log The Name Server boot success… 3.启动BrokerProxy nohup sh bin/mqbroker -n …

第3章.引导ChatGPT精准角色扮演:高效输出专业内容

角色提示技术 角色提示技术&#xff08;role prompting technique&#xff09;&#xff0c;是通过模型扮演特定角色来产出文本的一种方法。用户为模型设定一个明确的角色&#xff0c;它就能更精准地生成符合特定上下文或听众需求的内容。 比如&#xff0c;想生成客户服务的回复…

Java作业3-字符串

题目一 代码 import java.util.*; public class Main {public static void main(String[] args) {Scanner input new Scanner( System.in );String str input.nextLine();int len str.length();StringBuilder s new StringBuilder(len);//StringBuilder类参考菜鸟教程for…

Kotlin 协程和 Java 线程有什么区别?

Kotlin 协程和 Java 线程是两种不同的并发编程工具&#xff0c;它们在设计哲学、实现机制和使用方式上都有所区别。以下是 Kotlin 协程和 Java 线程之间的一些主要区别&#xff1a; ### 轻量级与资源消耗 - **Kotlin 协程**&#xff1a; - 协程是一种轻量级的并发单位&…

zookeeper--znode数据结构详解

https://www.jianshu.com/p/cbe5f0dd6cca 一、概念详解 zxid Zookeeper中每个状态变化都会产生一个全局唯一的zxid (ZooKeeper Transaction Id)&#xff0c;通过它可确定更新操作的先后顺序&#xff0c;每个更改都将有一个唯一的 zxid。例如&#xff0c;zxid1小于zxid2&…

Centos搭建docker mysql集群

1.执行命令 &#xff1a;docker search mysql 看到有percona 之后docker pull percona/percona-xtradb-cluster:5.7.21 2.docker images 查看该镜像&#xff0c;tag重命名 docker tag percona/percona-xtradb-cluster:5.7.21 pxc 也可以直接下载一下&#xff0c;之后dock…

深入理解HDFS工作原理:大数据存储和容错性机制解析

** 引言&#xff1a; ** 在当今数据爆炸的时代&#xff0c;存储和管理大规模数据成为了许多组织面临的重要挑战。为了解决这一挑战&#xff0c;分布式文件系统应运而生。Hadoop分布式文件系统&#xff08;HDFS&#xff09;作为Apache Hadoop生态系统的核心组件之一&#xff…

是德科技keysight N9000B 信号分析仪

181/2461/8938产品概述&#xff1a; 工程的内涵就是将各种创意有机地联系起来&#xff0c;并解决遇到的问题。 CXA 信号分析仪具有出色的实际性能&#xff0c;它是一款出类拔萃、经济高效的基本信号表征工具。 它的功能十分强大&#xff0c;为一般用途和教育行业的用户执行测试…