pat1074 k个一组反转链表

是我的错觉吗

直接把%d赋值给数组小标,不能把值副进去? 

可是这样可以?

乱套了这 

同样的代码 

 

所以暂时将你眼睛闭了起来

所以还是好好老实两次赋值

。。。

写糊了已经

注意这句话

 链表中部翻转:

不带dummy真的好麻烦且头大,我想投降了

在链表中段翻转时,除了中间的四部曲,还需要

1.原中段的dummy指向原中段末尾节点

2.原中段的第一节点指向原中段末尾节点的下一位

此外还要注意输出什么?是dummy的next,没错,每次都是dummy的next,因为dummy的next就是2中的原中段的第一节点,要的就是他,也只有这样表述

ac代码

//重开
#include<stdio.h>
#include<bits/stdc++.h>
#include <string>
const int N=100005;
int n,first,firstid;
using namespace std;
int head,k;
int lnxt[N];
int val[N];int p0=N-1;//dummy
int rvs(int k,int p)
{int pre=p;int cur=lnxt[p];int cur0=cur;//灵神 for(int i=0;i<k;i++){int nxt=lnxt[cur];lnxt[cur]=pre;pre=cur;cur=nxt;}lnxt[lnxt[p]]=cur;lnxt[p]=pre;return cur0;//灵神 }int main()
{//输入数据 scanf("%d %d %d",&head,&n,&k);lnxt[p0]=head;for(int i=0;i<n;i++){int idtemp;int valt,lnxtt;scanf("%d %d %d",&idtemp,&valt,&lnxtt);val[idtemp]=valt;lnxt[idtemp]=lnxtt;
}
//计算循环次数
int num_node=0;//一开始写的1,不对
for(int i=head;i>=0;i=lnxt[i]) num_node++;
int num_iter=num_node/k;
int dm=p0;
for(int i=0;i<num_iter;i++)
{
dm=rvs(k,dm);
}
int hd=lnxt[p0];
//rvs(k,p0);
//printf("%d %d %d",num_node,k,num_iter);
//int hd=p0;
while(hd!=-1)
{//printf("%d ",hd);hd=lnxt[hd];
if(lnxt[hd]==-1)printf("%05d %d %d\n",hd,val[hd],lnxt[hd]);
else	printf("%05d %d %05d\n",hd,val[hd],lnxt[hd]);hd=lnxt[hd];
}} 

acw上一位大佬 的:

#include <iostream>
#include <algorithm>
using namespace std;
const int MAX_N = 100010;
int ne[MAX_N];
int node[MAX_N];
int Reverse(int head, int k) {int rear = ne[head]; //反转后的最后一个结点int pL = ne[head]; //从头结点的下个结点开始翻转int pR = ne[pL];for (int i = 0; i < k - 1; i++) { //k个节点翻转k-1次int t = ne[pR];ne[pR] = pL;pL = pR;pR = t;}//将反转后的链表与未反转链表连起来ne[head] = pL;ne[rear] = pR;return rear; //返回翻转链表的最后一个节点
}
int main() {int head, p;int h, n, k;cin >> h >> n >> k;//创建空的头指针head = MAX_N - 1;ne[head] = h;for (int i = 0; i < n; i++) {int addr, data, nextAddr;cin >> addr >> data >> nextAddr;node[addr] = data;ne[addr] = nextAddr;}//统计有效链表的长度p = head;int cnt = 0;while (p != -1) {p = ne[p];cnt++;}n = cnt;//翻转链表p = head;for (int i = 0; i + k < n; i += k) p = Reverse(p, k);//打印链表p = ne[head];while (p != -1) {printf("%05d %d ", p, node[p]);if (ne[p] != -1) printf("%05d\n", ne[p]);else puts("-1");p = ne[p];}return 0;
}

 

总结:

1 真的需要dummy

2 需要对“翻转中间一部分链表”有透彻的理解并且加以引用(参考灵神) 

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

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

相关文章

用Python解决预测问题_多元线性回归模板

多元线性回归是一种统计学方法&#xff0c;用于分析两个或多个自变量&#xff08;解释变量&#xff09;与一个因变量&#xff08;响应变量&#xff09;之间的关系。在最简单的线性回归模型中&#xff0c;只有一个自变量和一个因变量&#xff0c;它们之间的关系可以用一条直线来…

绿色能源的应用与节约,低碳生活方式指南

在这个全球化的时代&#xff0c;环境问题越来越严重&#xff0c;大家都关注的绿色能源和节约成了热门话题。怎样在日常生活中用好绿色能源&#xff0c;实现低碳生活&#xff0c;是每个环保人士都需要了解的关键问题。这篇文章会详细告诉你绿色能源的使用、优点、节约方法以及低…

msxml*.dll 错误 ‘80072f7d‘ 安全频道支持出错 解决方案

诡异的 msxml6.dll错误 80072f7d安全频道支持出错&#xff0c;用 SSLTools.exe 修复的方法无效&#xff01;&#xff01;&#xff01; ’--------------------------------------------------------------- 有如下简要 ASP 代码&#xff0c;用于获取网页链接返回内容&#xf…

window系统开代理在Conda环境中导致pip安装python包出现timeout

文章目录 1: 临时性配置 pip 代理文件2. 永久性配置 pip 代理文件 在使用 Conda 时&#xff0c;如果你设置了代理&#xff0c;但 pip 仍然无法工作&#xff0c;可能需要确保代理配置正确并适用于 pip。以下是几种可能的解决方法&#xff0c;先看一下报错 WARNING: Retrying (Re…

物联网设备字符串转串口指令-SAAS本地化及未来之窗行业应用跨平台架构

一、指令转换作用 现在服务器一般采用json数据格式 但是终端底层都是二进制指令 直接从服务器传输的指令就无法执行&#xff0c;因此需要转换 二、转换源码 void StringToHandleCommand(byte *byteArray, const char *hexString) {bool oddLength strlen(hexString) &…

【威锋网-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

实战Kubernetes之快速部署 K8s 集群 v1.28.0

文章目录 一、前言二、主机准备三、系统配置3.1. 关闭防火墙及相关配置3.2. 修改主机名3.3. 主机名DNS解析3.4. 时间同步3.5. 配置网络3.6. 重启服务器 四、安装软件4.1. 安装 Docker4.2. 安装 cri-dockerd4.3. 添加国内YUM源4.4. 安装 kubeadm、kubelet 和 kubectl 五、Master…

jmreport积木报表实战中的设计要点(实时更新)

目录 前言1. 配置数据源2. 数据字典3. excel设计4. 带参数查询 前言 以下为文章记录&#xff0c;主要记录报表工具的使用法则 更加详细的要点推荐阅读&#xff1a; 《数据分析-JiMuReport》积木报表详细入门教程积木报表操作手册 以下为实战中主要的总结要点 1. 配置数据源…

记录一次搭建uniapp-vue3的基础项目

1.使用 HBuilder X 创建uniapp vue3的基础项目 2.安装 自动导包插件 unplugin-auto-import npm install unplugin-auto-import或者 pnpm install unplugin-auto-import2.1 根目录下创建 vite.config.js 复制粘贴以下内容 import { defineConfig } from vite import uni fro…

【握奇数据招聘(北森)-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

[ 全部搞定 - 发票导出表格 ] PDF发票提取到表,图片发票提取到表格,扫描件发票提取到表格,全电发票PDF,全电发票扫描件识别导出EXCEL表格

最近很多朋友说找PDF发票提取Excel表格的&#xff0c;找到了图片识别Excel表格的&#xff0c;有的找图片识别Excel表格的&#xff0c;找到了PDF发票提取表格的&#xff0c;所以就很难搞&#xff0c;还有的说都想要 今天一篇文章&#xff0c;全部搞定所有发票【电子发票&#x…

【计算机组成原理】三、存储系统:1.存储器的分类、层次化结构、性能指标、基本组成(半导体、存储芯片基本原理)

三、存储系统&#xff08;存储器层次结构&#xff09; 文章目录 三、存储系统&#xff08;存储器层次结构&#xff09;1.存储器的分类1.1按在计算机中的作用&#xff08;层次&#xff09;❗多级存储结构&#xff08;层次化结构&#xff09;1.2按存储介质1.3按存取方式1.4按信息…

Godot《躲避小兵》实战之创建游戏主场景

游戏主场景 现在是时候将我们所做的一切整合到一个可玩的游戏场景中了。 创建新场景并添加一个 Node节点&#xff0c;命名为 Main。&#xff08;我们之所以使用 Node 而不是 Node2D&#xff0c;是因为这个节点会作为处理游戏逻辑的容器使用。本身是不需要 2D 功能的。&#x…

STM中的I2C

常见的几种通信接口 I2C总线定义 定义 I2C - Inter-Integrated Circuit&#xff1a;两线式 串行总线&#xff1a;说明处理器和外设之间只需两根信号线&#xff0c;分别是SCL时钟控制信号线和SDA数据线 SCL&#xff08;serial clock line&#xff09; 时钟控制信号线&#xff…

fastadmin 安装

环境要求&#xff0c;大家可以参考官方文档的&#xff0c;我这里使用的是phpstudy&#xff0c;很多已经集成了。 注意一点&#xff0c;PHP 版本&#xff1a;PHP 7.4 。 第二步&#xff1a;下载 下载地址&#xff1a;https://www.fastadmin.net/download.html 进入下载地址后…

【嵌入式裸机开发】智能家居入门7:最新ONENET,MQTT协议接入,最全最新(微信小程序、MQTT协议、ONENET云平台、STM32)

智能家居入门7 前言一、ONENET云平台创建产品与设备二、STM32端连接服务器前的准备三、STM32端实现四、微信小程序端连接服务器前的准备五、微信小程序端实现六、最终测试 前言 本篇文章介绍最新ONENET云平台的MQTT协议接入方法&#xff0c;在STM32上实现数据上云与服务器下发…

TCP和UDP编程的学习

UDP编程特点&#xff1a;c/s模型 不可靠 &#xff1b; 无链接 &#xff1b;数据报形式&#xff08;效率高&#xff09;&#xff1b; TCP编程特点&#xff1a; 面向链接&#xff1b; 可靠传输&#xff1b;&#xff08;保证数据准确可靠&#xff09;&#xff1b; 面向字节流&a…

基于x86 平台opencv的图像采集和seetaface6的口罩人脸检测识别功能

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.2 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的口罩人脸检测识别功能,opencv通过摄像头采集视频图像,将采集的视频图像送给seetaface6的口罩人脸检测…

【blender】一个汉堡包

第一次建模&#xff0c;哈哈汉堡包样式大差不差。至于这么做的&#xff0c;那么多快捷键完蛋&#xff0c;忘得差不多了&#xff01; 官网地址&#xff1a;https://www.blender.org/download/ 我下载的是4.2版本

DHCP协议-CSP认证

文章目录 DHCP协议 DHCP协议 stringstream的用法 应用实践 #include<bits/stdc.h>using namespace std;signed main() {string s"wo shi wwl, also wlw";stringstream ss;ss<<s;while(ss>>s){if(s[s.size()-1],) s[s.size()-1] ;cout<<s<…