2024.2.3

单向循环链表的头插 头删 尾插和尾删

//头结点插入
Linklist insere_element(Linklist head,datatype element)
{Linklist s=creat();s->data=element;if(NULL==head){head=s;}else{Linklist p=head;while(p->next!=head){p=p->next;}s->next=head;head=s;p->next=head;}return head;
}
/头删
Linklist head_del(Linklist head)
{if(NULL==head)return head;Linklist del=head;head=head->next;free(del);del=NULL;return head;
}

//尾插法
Linklist insert_rear(Linklist head,datatype element)
{//先创建一个结点Linklist s=creat();s->data=element;//判断是否为空if(head==NULL){head=s;}else//有多个节点的情况{Linklist p=head;//防止返回的时候出错,定义p为head,否则head改变后返回是错误的//找到最后一个结点while(p->next){p=p->next;}p->next=s;}return head;
}
//尾删
Linklist rear_del(Linklist head)
{Linklist del=NULL;if(NULL==head)return head;else if(head->next==NULL){free(head);head==NULL;}else{del=head;while(del->next->next){del=del->next;}free(del->next);del->next=NULL;}return head;
}

约瑟夫环

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
enum
{FALSE=-1,SUCCESS
};
typedef int datatype;
typedef struct Node
{datatype data;struct Node *next;
}*linklist;
linklist creat();
linklist insert_rear(linklist head,datatype element);
void output(linklist head);
linklist Joseph(linklist head,int n,int m);
linklist Joseph(linklist head,int n,int m)
{if(head==NULL)return head;linklist p=head;for(int i=0;i<n;i++){for(int j=0;j<m-2;j++){p=p->next;}linklist del=p->next;printf("%-5d",del->data);p->next=del->next;free(del);del=NULL;p=p->next;}return NULL;
}
int main(int argc, const char *argv[])
{//定义头指针linklist head=NULL;int n;datatype element;printf("please enter n:");scanf("%d",&n);//循环写入for(int i=0;i<n;i++){printf("please enter element:");scanf("%d",&element);head=insert_rear(head,element);}//遍历output(head);//约瑟夫环int m;printf("please enter m:");scanf("%d",&m);head=Joseph(head,n,m);return 0;
}

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

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

相关文章

STM32F407 CAN参数配置 250Kbps

本篇CAN参数适用 芯片型号&#xff1a;STM32F407xx系统时钟&#xff1a;168MHz&#xff0c;CAN挂载总线APB1为42M波 特 率 &#xff1a;250Kpbs引脚使用&#xff1a;TX_PB9&#xff0c;RX_PB8&#xff1b;修改为PA11PA12后&#xff0c;参数不变。 步骤一、打勾开启CAN&#xf…

MongoDB复制集实战及原理分析

文章目录 MongoDB复制集复制集架构三节点复制集模式PSS模式&#xff08;官方推荐模式&#xff09;PSA模式 典型三节点复制集环境搭建复制集注意事项环境准备配置复制集复制集状态查询使用mtools创建复制集安全认证复制集连接方式 复制集成员角色属性一&#xff1a;Priority 0属…

Ps:标尺

Ps菜单&#xff1a;视图/标尺 View/Rulers 标尺 Rulers可帮助精确定位图像或元素。 标尺附属于文档窗口&#xff0c;按快捷键 Ctrl R 可快速显示或隐藏标尺。 显示标尺后&#xff0c;当移动鼠标指针时&#xff0c;标尺内的标记会显示指针的位置。 ◆ ◆ ◆ 使用方法与技巧 1…

【Matplotlib】figure方法之图形的保存

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;matplotlib &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

js获取文件名或文件后缀名(扩展名)的几种方法

有时候我们需要通过含有文件名和后缀名的一个字符串中提取出该文件的文件名或文件后缀名&#xff08;扩展名&#xff09;&#xff0c;可以通过如下几种方式进行截取。 例如文件名为: var fileName"12345.txt"; 方式一&#xff1a;subtring() 用法参考博文 【js截取字…

Acwing---826.单链表

单链表 1.题目2.基本思想3.代码实现 1.题目 实现一个单链表&#xff0c;链表初始为空&#xff0c;支持三种操作&#xff1a; 向链表头插入一个数&#xff1b;删除第 k k k 个插入的数后面的数&#xff1b;在第 k k k 个插入的数后插入一个数。现在要对该链表进行 M M M 次…

【GPU驱动开发】-LLVM和Clang环境部署

前言 不必害怕未知&#xff0c;无需恐惧犯错&#xff0c;做一个Creator&#xff01; 一、下载LLVM源码 官网下载源码 https://github.com/llvm/llvm-project/releases/ 包含所有llvm版本的下载内容 win源码传到ubuntu 首先将虚拟机关机&#xff0c;在虚拟机设置中&#xff…

开发知识点-拍黄片的好基友的依赖管理工具-composer

composer 介绍主要特性使用Composer的优势 基本使用文档 介绍 Composer 是 PHP 的一个依赖管理工具&#xff0c;它允许项目创建者和开发者声明项目所依赖的库&#xff0c;并自动安装这些依赖项。 它在PHP社区中被广泛使用&#xff0c;几乎成为了现代PHP开发的标准配置。 主要…

iOS应用提交上架的最新流程

摘要 本篇博客介绍了iOS应用程序上架的最新流程。包括上架基本需求资料、证书的创建和使用、测试设备的添加、描述文件的创建、打包、审核等步骤。 引言 在开发完iOS应用程序后&#xff0c;我们需要将其提交到App Store上架。然而&#xff0c;随着技术的不断发展&#xff0c;…

Win10系统搭建个人hMailServer邮件服务结合内网穿透远程发邮件

文章目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpola…

计算机视觉-阅读内容和风格图像

首先&#xff0c;我们读取内容和风格图像。 从打印出的图像坐标轴可以看出&#xff0c;它们的尺寸并不一样。 %matplotlib inline import torch import torchvision from torch import nn from d2l import torch as d2ld2l.set_figsize() content_img d2l.Image.open(../img/…

门禁管理这个小技巧,让考勤效率翻倍!

随着科技的迅猛发展&#xff0c;社会的不断进步&#xff0c;人们对于安全和管理的需求也愈发迫切。在这个背景下&#xff0c;门禁监控系统作为一种先进的安全管理工具&#xff0c;正逐渐成为各类场所的必备设施。 客户案例 企业办公楼 上海​某大型企业办公楼面临着人员进出的…