【数据结构】链表习题之环形链表的约瑟夫问题

news2024/9/24 5:29:17

 👑个人主页:啊Q闻       

🎇收录专栏:《数据结构》           

 🎉道阻且长,行则将至

前言

今天这道题目时牛客上的题目,名为环形链表的约瑟夫问题,很有趣的的一道题目

 环形链表的约瑟夫问题

题目为:

思路:

看题目后我们明显知道这里要创建一个环形链表,我们首先要写一个函数,创建新节点,再由新节点来创造新链表;其次我们还要完成的步骤是逢m删除当前节点。 

代码如下:

#include<stdlib.h>
 typedef struct ListNode ListNode;
 ListNode*BuyNode(int x)//创建新节点
 {
    ListNode*newnode=(ListNode*)malloc(sizeof(ListNode));
    if(newnode==NULL)
          exit(1);
          newnode->val=x;
          newnode->next=NULL;
          return newnode;
 }
 ListNode*createList(int n)//创建新链表
 {
    ListNode*phead=BuyNode(1);
    ListNode*ptail=phead;
    for(int i=2;i<=n;i++)
    {
        ptail->next=BuyNode(i);
        ptail=ptail->next;
    }
    ptail->next=phead;
    return ptail;
 }
int ysf(int n, int m ) {
    ListNode*prev=createList(n);
    ListNode*pcur=prev->next;
    int count=1;
    while(pcur->next!=pcur)//逢m删除当前节点
    {
        if(count==m)
        {
            prev->next=pcur->next;
            free(pcur);
            pcur=prev->next;
            count=1;
        }
        else {
        prev=pcur;
        pcur=pcur->next;
        count++;
        }
    }
     return pcur->val;
}

 详解:

创建新节点:

创建新链表:

逢m删除当前节点:

注意:

感谢阅读,对你有帮助的话,宝子们三连支持一下吧 ❤

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

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

相关文章

图文详解电容的9大功能

电容是电路设计中最为普通常用的器件&#xff0c;也常常在高速电路中扮演重要角色。 电容的用途非常多&#xff0c;主要有如下几种&#xff1a; 1. 隔直流&#xff1a; 作用是阻止直流通过而让交流通过。 2. 旁路&#xff08;去耦&#xff09;&#xff1a; 为交流电路中某…

干货详解如何通过代理IP使用 Puppeteer?

Puppeteer 在全球拥有数百万用户&#xff0c;堪称最流行的无头浏览器之一。对于任何与自动浏览相关的任务来说&#xff0c;该工具都是不可或缺的。在接下来的段落中&#xff0c;我们将了解如何在 Puppeteer 中使用代理以及在设置过程中使用哪些技巧。 一、Puppeteer中的代理IP是…

【数据结构】带头双向链表的实现

&#x1f451;个人主页&#xff1a;啊Q闻 &#x1f387;收录专栏&#xff1a;《数据结构》 &#x1f389;道阻且长&#xff0c;行则将至 前言 带头双向链表是链表的一种&#xff0c;相较于单链表的实现&#xff0c;其更为简单 一.初识带头双向循环链表 带头…

宁波ISO14068碳中和,ISO14068认证,ISO14068辅导

ISO 14068是国际标准化组织&#xff08;ISO&#xff09;&#x1f4dd;发布的关于碳中和的标准✒️&#xff0c;也被称为“碳中和国际标准”。该标准&#x1f9f0;定义了碳中和的&#x1f4f1;概念&#xff0c;包括组织或产品&#x1f460;通过自身减排、边界内&#x1fae7;碳清…

力扣-20 有效的括号详解 Java

目录 1.题目分析 2.基础知识储备 2.1 哈希表 2.2 栈的存取 3. 逻辑概要 4.源码 示例 1.题目分析 为了对比都是从内而外&#xff0c;一个个匹配&#xff0c;全部匹配成功即为有效字符 2.基础知识储备 2.1 哈希表 简单来说&#xff0c;keyvalue存储 &#xff0c;通过key…

探索LLaMA模型:架构创新与Transformer模型的进化之路

引言 在人工智能和自然语言处理领域&#xff0c;预训练语言模型的发展一直在引领着前沿科技的进步。Meta AI&#xff08;前身为Facebook&#xff09;在2023年2月推出的LLaMA&#xff08;Large Language Model Meta AI&#xff09;模型引起了广泛关注。LLaMA模型以其独特的架构…

【微服务】Spring Boot 版本升级到 2.7.18

前言 目前项目上扫描出一些 Java 依赖的代码漏洞&#xff0c;需要对现有依赖版本升级&#xff0c;记录一下遇到的问题。 <spring-boot.version>2.3.2.RELEASE</spring-boot.version> <spring-cloud.version>Hoxton.SR9</spring-cloud.version> <s…

饼图渲染的关键

1) 创建一个DOM对象,有自定义的高和宽. 2) 引入Echarts软件包并导入到对应文件内 npm i Echarts import 文件.js script src.../文件 3) 初始化一个对象 4) 对象的方法实现饼图渲染 data内的数据,且当一个对象已经渲染一遍,再执行这个,会对setOption的参数进行更新,其…

ctfshow web入门 反序列化

254 分析代码&#xff1a; 如果用户名和密码参数都存在&#xff0c;脚本会创建一个 ctfShowUser 类的实例 $user。 接着&#xff0c;调用 $user->login($username, $password) 方法尝试登录。如果登录成功&#xff08;即用户名和密码与类中的默认值匹配&#xff09;&#…

MyBatis 入门笔记

课程地址 Mybatis 是一个优秀的持久层框架&#xff0c;用于简化 JDBC 操作 快速入门 POJO Plain Old Java Object 建表 create database mybatis; use mybatis; drop table if exists tb_user;create table tb_user(id int primary key auto_increment,username varchar(2…

万里牛和金蝶云星空接口打通对接实战

万里牛和金蝶云星空接口打通对接实战 源系统:万里牛 万里牛作为行业领先的全渠道零售云服务商&#xff0c;成立于2011年&#xff0c;核心成员来自于阿里巴巴、信雅达等知名企业&#xff0c;是业内最早的SaaSERP服务商&#xff0c;致力于为企业提供全渠道零售一站式解决方案。万…

Gemma开源AI指南

近几个月来&#xff0c;谷歌推出了 Gemini 模型&#xff0c;在人工智能领域掀起了波澜。 现在&#xff0c;谷歌推出了 Gemma&#xff0c;再次引领创新潮流&#xff0c;这是向开源人工智能世界的一次变革性飞跃。 与前代产品不同&#xff0c;Gemma 是一款轻量级、小型模型&…

Web安全基础入门+信息收集篇

教程介绍 学习信息收集&#xff0c;针对域名信息,解析信息,网站信息,服务器信息等&#xff1b;学习端口扫描&#xff0c;针对端口进行服务探针,理解服务及端口对应关系&#xff1b;学习WEB扫描&#xff0c;主要针对敏感文件,安全漏洞,子域名信息等&#xff1b;学习信息收集方法…

AIGC、3D模型、轻量化、格式转换、可视化、数字孪生引擎...

老子云3D可视化快速开发平台&#xff0c;集云压缩、云烘焙、云存储云展示于一体&#xff0c;使3D模型资源自动输出至移动端PC端、Web端&#xff0c;能在多设备、全平台进行展示和交互&#xff0c;是全球领先、自主可控的自动化3D云引擎。 平台架构 平台特性 基于 HTML5 和 Web…

踏青智能伙伴,尽享户外乐趣

春风拂面&#xff0c;花香四溢&#xff0c;正是踏青赏花的好时节。想要尽情享受户外的美好时光吗&#xff1f;华为手环8将是你户外的好搭子&#xff01;它不仅拥有精准的天气预报功能&#xff0c;还能播放你喜爱的音乐&#xff0c;记录户外步行轨迹&#xff0c;并实现遥控拍照&…

[深度学习]yolov8+pyqt5搭建精美界面GUI设计源码实现一

【简单介绍】 基于YOLOv8与PyQt5的精美界面GUI设计&#xff0c;旨在为用户提供一个直观、易用且功能强大的目标检测平台。通过结合YOLOv8的先进目标检测能力与PyQt5的丰富界面设计元素&#xff0c;我们打造了一款高效、稳定的软件产品。 在界面设计上&#xff0c;我们注重用户…

【机器学习】基于北方苍鹰算法优化的BP神经网络分类预测(NGO-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】北方苍鹰优化算法&#xff08;NGO)原理及实现 2.设计与实现 数据集&#xff1a; 数据集样本总数2000 多输入单输出&#xff1a;样本特征24&#x…

语音转文字——sherpa ncnn语音识别离线部署C++实现

简介 Sherpa是一个中文语音识别的项目&#xff0c;使用了PyTorch 进行语音识别模型的训练&#xff0c;然后训练好的模型导出成 torchscript 格式&#xff0c;以便在 C 环境中进行推理。尽管 PyTorch 在 CPU 和 GPU 上有良好的支持&#xff0c;但它可能对资源的要求较高&#x…

【4月】CDA Club 第2期数据分析组队打卡学习活动开启!

活动名称 CDA Club 第2期数据分析组队打卡学习活动 活动介绍 本次打卡活动由CDA俱乐部旗下学术部主办。目的是通过数据分析科普内容&#xff0c;为数据分析爱好者提供学习和交流的机会。方便大家利用碎片化时间在线学习&#xff0c;以组队打卡的形式提升学习效果&#xff0c…

MySQL 中 聚集索引、非聚集索引、覆盖索引、索引下推 到底是什么

一、什么是 聚集索引、非聚集索引 在MySQL数据库中&#xff0c;索引是提高查询效率的关键。而聚集索引、非聚集索引、覆盖索引、索引下推其实是索引优化的重要策略之一。那这些名词的含义到底是什么呢&#xff1f; 在开始分析前&#xff0c;先来了解下 B 树的索引结构 和 回表…