数据结构与算法编程题15
设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。
#include <iostream>
using namespace std;typedef int Elemtype;
#define ERROR 0;
#define OK 1;typedef struct LNode
{Elemtype data; //结点保存的数据struct LNode* next; //结构体指针
}LNode, * LinkList;/*单链表初始化*/
bool Init_LinkList(LinkList& L)
{L = (LinkList)malloc(sizeof(LNode)); //新建头结点if (L == NULL){return ERROR;}L->data = 0;L->next = NULL;return OK;
}/*单链表头插法*/
bool LinkList_head_instert(LinkList& L)
{int x = 0;LNode* p = NULL;while (cin >> x){p = (LinkList)malloc(sizeof(LNode));if (p != NULL) //防止分配地址失败{p->data = x;p->next = L->next;L->next = p;if (cin.get() == '\n') break; //检测换行符}else{exit(0);cout << "内存分配失败" << endl;}}return OK;
}/*单链表尾插法*/
bool LinkList_tail_instert(LinkList& L)
{int x = 0;LNode* p = NULL;LNode* r = NULL;r = L;while (cin >> x){p = (LinkList)malloc(sizeof(LNode));if (p != NULL) //防止分配地址失败{p->data = x;p->next = NULL;r->next = p;r = p;if (cin.get() == '\n') break; //检测换行符}else{exit(0);cout << "内存分配失败" << endl;}}return OK;
}/*单链表遍历*/
bool LinkList_All_value(LinkList L)
{if (L->next == NULL){cout << "链表为空" << endl;return ERROR;}LNode* s = NULL;s = L->next;while (s != NULL){cout << s->data << " ";s = s->next;}cout << endl;free(s);return OK;
}/*单链表长度*/
int LinkList_length(LinkList L)
{int count = 0;LNode* s = NULL;s = L->next;while (s != NULL){count++;s = s->next;}return count;
}/*清空单链表*/
void Clear_LinkList(LinkList& L)
{LNode* p = L->next;LNode* q = NULL;while (p != NULL){q = p->next;free(p);p = q;}L->next = NULL;
}/*销毁单链表*/
void Destory_LinkList(LinkList& L)
{LNode* p = NULL;LNode* q = NULL;p = L;while (p != NULL){q = p->next;free(p);p = q;}L = NULL;
}
//--------------------------------------核心代码--------------------------------------//
bool reverse(LinkList& A) //头插法
{LNode* pa = NULL;LNode* q = NULL;pa = A->next;A->next = NULL;if (pa == NULL){cout << "单链表数据为空!!!" << endl;return ERROR;}while (pa != NULL){q = pa->next;pa->next = A->next;A->next = pa;pa = q;}return OK;
}//--------------------------------------核心代码--------------------------------------//
//设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。int main(void)
{LinkList A = NULL;Init_LinkList(A);LinkList_tail_instert(A);//test1: 1 2 3 100 5 6 8LinkList_All_value(A);reverse(A);//逆转单链表LinkList_All_value(A);return 0;
}

相关文章:
数据结构与算法编程题15
设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。 #include <iostream> using namespace std;typedef int Elemtype; #define ERROR 0; #define OK 1;typedef struct LNode {Elemtype data; …...
基于Mapmost Alpha工具快速搭建3D场景可视化大屏
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
OpenAI再次与Sam Altman谈判;ChatGPT Voice正式上线
11月22日,金融时报消息,OpenAI迫于超过700名员工联名信的压力,再次启动了与Sam Altman的谈判,希望他回归董事会。 在Sam确定加入微软后,OpenAI超700名员工签署了一封联名信,要求Sam和Greg Brockman&#x…...
技术是增长关键驱动!传音控股新专利亮相,看未来手机趋势
近日,有媒体报道从国家知识产权局发现传音控股取得多项突破性的技术专利,包括图像处理技术、准共址关系指示、panel状态处理等。当下的智能手机行业,已进入高度成熟阶段,技术是产业新一轮增长点已成为业内共识。 传音控股认为&am…...
C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值]
C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值] 矩阵创建图像显示与保存像素读取与赋值新建sample02项目,配置opencv4相关包,新建.cs进行测试 1.矩阵创建 //创建空白矩阵 var dst new Mat()//创建并赋…...
执行npm的时候报权限问题的解决方案
我们在执行npm操作的过程中,会出现以下权限问题,解决方案: 管理员身份 运行cmd 切换目录到要执行命令的文件下 再进行npm操作即可...
【实用】PPT没几页内存很大怎么解决
PPT页数很少但导出内存很大解决方法 1.打开ppt点击左上角 “文件”—“选项” 2.对话框选择 “常规与保存” (1)如果想要文件特别小时可 取消勾选 “将字体嵌入文件” (2)文件大小适中 可选择第一个选项 “仅最入文档中所用的字…...
【Docker】从零开始:8.Docker命令:Commit提交命令
【Docker】从零开始:8.Docker命令:Commit命令 基本概念镜像镜像分层什么是镜像分层为什么 Docker 镜像要采用这种分层结构 本章要点commit 命令命令格式docker commit 操作参数实例演示1.下载一个新的ubuntu镜像2.运行容器3.查看并安装vim4.退出容器5提交自己的镜像…...
【深度学习】神经网络术语:Epoch、Batch Size和迭代
batchsize:中文翻译为批大小(批尺寸)。 简单点说,批量大小将决定我们一次训练的样本数目。 batch_size将影响到模型的优化程度和速度。 为什么需要有 Batch_Size : batchsize 的正确选择是为了在内存效率和内存容量之间寻找最…...
谈谈你对mvc和mvvm的理解
MVC和MVVM是软件开发中两种常见的架构模式,各自有不同的优缺点。 MVC(Model-View-Controller)是一种经典的架构模式,将应用程序分为三个部分:模型(Model)、视图(View)和…...
C语言每日一题(35)有效的括号
力扣网 20 有效的括号 题目描述 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右…...
【DevOps】Git 图文详解(七):标签管理
Git 图文详解(七):标签管理 标签(Tags)指的是某个分支某个特定时间点的状态,是对某一个提交记录的 固定 “指针” 引用。一经创建,不可移动,存储在工作区根目录下 .git\refs\tags。可…...
BootStrap【表格二、基础表单、被支持的控件、表单状态】(二)-全面详解(学习总结---从入门到深化)
目录 表格二 表单_基础表单 表单_被支持的控件 表单_表单状态 表格二 紧缩表格 通过添加 .table-condensed 类可以让表格更加紧凑,单元格中的内补(padding)均会减半 <table class"table table-condensed table-bordered"…...
亿赛通电子文档安全管理系统UploadFileFromClientServiceForClient接口存在任意文件上传漏洞 附POC
@[toc] 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 亿赛通电子文档安全管理系统接口简介 微信…...
SPSS系统聚类
前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…...
【ArcGIS Pro微课1000例】0033:ArcGIS Pro处理cad数据(格式转换、投影变换)
文章目录 一、cad dwg转shp1. 导出为shp2. cad至地理数据库3. data interoperability tools二、shp投影变换一、cad dwg转shp 1. 导出为shp 加载cad数据,显示如下: 选择需要导出的数据,如面状,右键→数据→导出要素: 导出要素参数如下,点击确定。 导出的要素不带空间参…...
【小呆的力学笔记】有限元专题之循环对称结构有限元原理
文章目录 1. 循环对称问题的提出2. 循环对称条件2.1 节点位移的循环对称关系2.2 节点内力的循环对称关系 3. 在平衡方程中引入循环对称条件 1. 循环对称问题的提出 许多工程结构都是其中某一扇面的n次周向重复,也就是是周期循环对称结构。如果弹性体的几何形状、约…...
云端导览,数字互动 | 拓世法宝AI数字人一体机助力全新旅游时代
《中国旅行消费趋势洞察白皮书(2023版)》显示,消费者旅行习惯已从“到此一游”变为“深度在地”,更强调在旅游中充实自我、学习新知识。 (《中国旅行消费趋势洞察白皮书(2023版》截图) 从这些资…...
PTA-快速幂
要求实现一个递归函数,高效求ab(1≤a,b≤62,ab<263)。 函数接口定义: long long int pow(int a, int b); 其中a 、b 是用户传入的参数。 裁判测试程序样例: #include<iostream> using namespace std; long long int pow(int a,…...
【深度学习】Transformer简介
近年来,Transformer模型在自然语言处理(NLP)领域中横扫千军,以BERT、GPT为代表的模型屡屡屠榜,目前已经成为了该领域的标准模型。同时,在计算机视觉等领域中,Transformer模型也逐渐得到了重视&a…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
