数据结构之单链表循环

2023-05-16

单链表循环代码如下:

#include<stdio.h>

#include<stdlib.h>


typedef struct node
{
   int data;
  struct node  *next;

}sqlist;

sqlist *init(void)  //初始化
{
    sqlist *l=NULL;
    l=(sqlist *)malloc(sizeof(sqlist));
    l->data=0;
    l->next=l;

    return l;
}
void  head_insert(sqlist *l,int data) //链表头插法
{
      sqlist *node=(sqlist *)malloc(sizeof(sqlist));
      node->data=data;
      node->next=l->next;
      l->next=node;
      l->data++;
}
void print(sqlist *l) //链表打印
{
   sqlist *p=NULL;
   p=l->next;
   while(p!=l)
   {
      printf("%d->",p->data);
      p=p->next;

  }
   printf("NULL\n");

}

void nail_insert(sqlist *l,int data)//链表尾插法
{
   sqlist *p=l;
   sqlist *node=NULL;
   node=(sqlist *)malloc(sizeof(sqlist));
   node->data=data;
   while(p->next !=l)
    {
       p=p->next;
   }
      node->next=l;
      p->next=node;
}
int delet(sqlist *l,int data) //链表删除
{
    sqlist *pre=l;
  //  sqlist *p=l->next;
    sqlist *node= l->next;
     while(node != l)
      {
         if(node->data==data)
          {
             pre->next=node->next;
             free(node);
             return 1;
          }
          pre=node;
          node=node->next;

      }
    return 0;
}

int  main()   //主函数
{
   sqlist *l=NULL;
   l=(sqlist *)malloc(sizeof(sqlist));
   l=init();
   head_insert(l,1);
   head_insert(l,2);
   head_insert(l,3);
   head_insert(l,4);
   nail_insert(l,6);
   nail_insert(l,8);
   print(l);

   delet(l,2);
   print(l);
   free(l);
   return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构之单链表循环 的相关文章

  • Visual Studio2022 离线安装包下载

    首先去官网下载引导程序 xff1a https docs microsoft com en us visualstudio install create an offline installation of visual studio vi
  • MWC-电机、电池螺旋桨搭配

    原址 xff1a http blog sina com cn s blog 402c071e0102v2xv html 电池 电机 螺旋桨搭配 1 电机 1 电机KV值 xff1a 大KV配小桨 xff0c 小KV配大桨 KV值是每1V的电
  • linux系统发送http请求示例:

    http post示例 xff1a curl H 34 Content Type application json 34 X POST d 39 34 ChannelInfo 34 34 algoList 34 34 CarDetectio
  • 博途的多步过程控制, 寄存器寻址

    1 xff0c 实际生产中 xff0c 收到的开关信号往往是短信号 脉冲 2 Step 变化的逻辑和设备的逻辑分开 Step的变化逻辑在实际中往往是设备的反馈信号决定 xff0c 在此处用定时器信号代替 定时器的触发用Step的状态触发 x
  • 栈、堆、方法区存储的内容

    堆区 1 存储的全部是对象 xff0c 每个对象都包含一个与之对应的class的信息 class的目的是得到操作指令 2 jvm只有一个堆区 heap 被所有线程共享 xff0c 堆中不存放基本类型和对象引用 xff0c 只存放对象本身 栈
  • 【verilog】UART串口发送(FPGA)

    简述核心代码仿真测试 简述 串口发送是以一定速率发送单bit数据 xff0c 通常一组数据为10bit 空闲状态为高电平 xff0c 起始位为0 xff0c 中间以低位在前的方式发送8bit数据 xff0c 终止位为1 采用计数器 cnt
  • 栈的基础知识

    0 简介 最近在自己编写一些小的算法的时候 xff0c 深感自己的算法过于臃肿 碰巧Datawhale在新的一期组队学习中组织了数据结构与算法的课程学习 于是就参加了 xff0c 再次感谢Datawhale 首先跟大家分享一下两个自己感觉比
  • AD BOM表导出

    AD BOM表导出 在REPOERT下选择bill of materials 即进行BOM输出 输出操作网上有许多教程 xff0c 这里不进行叙述 xff0c 只提一下 xff0c 必须将Value选择打钩并上拉到展示纵队中 制作自己的模板
  • STM32 的OLED的使用

    7脚OLED依次有引脚 xff1a GND VCC D0 D1 RES DC CS七个脚 模块接口定义 xff1a 1 GND 电源地 2 VCC 电源正 xff08 3 xff5e 5 5V xff09 3 D0 OLED 的 D0 脚
  • 【转载】关于Visual Studio、VC和C++的那些事

    size 61 medium 首先 xff0c 这三个东西有什么区别呢 xff1f VC和C 43 43 是相同的吗 xff0c 有什么区别呢 xff1f 我刚开始学C 43 43 的时候也有这样的问题 xff0c 在这里我来替大家解释一下
  • Byte、bit 、和16进制之间的关系

    bit xff08 比特 xff09 byte xff08 字节 xff09 一 bit xff08 比特 xff09 计算机内存储和处理信息的最小单位是位 xff08 bit 或比特 xff09 xff0c 一个比特值可以是0或1 xff
  • ROS常见问题1——找不到包

    ROS常见问题1 找不到包 1 问题 每次打开终端会提示找不到相关包或者相关文件 比如在查看自己在catkin工作区间下创建的消息时提示找不到文件 xff1a 输入 xff1a span class hljs variable span r
  • 架空线路的基本结构及组成

    最近没有什么实时的新闻发 xff0c 所以小编就给大家整理了一些干货 准备好了吗 xff1f 具体是什么干货呢 xff1f 这句话问的好 xff0c 今天小编就给大家聊一聊电力巡检的基本知识 xff1a 架空线路的基本构成及组成 架空输电线
  • 微信小程序云开发,数据库数据的增加

    1 在wxml中添加一个按钮绑定事件 xff0c 添加数据 2 在云数据库中新建一个数据文件夹list 3 在JS中添加数据 4 在数据库中即可有增加的数据
  • Anaconda如何成功配置OpenCV的开发环境

    1 打开Anaconda的运行环境 xff1a 点击Anaconda Prompt运行 2 进入环境 使盘符在Anaconda 安装目录下 进入Scripts文件夹下 xff1b 3 找到相应路径位置 xff1a 4 敲代码运行到相应盘符
  • jupyter notebook快速入门使用详解及标记的使用(Markdown使用笔记)

    1 软件 xff08 终端的打开 xff09 打开软件之后 xff0c Jupyter Notebook 将在你的默认浏览器中打开 xff0c 网址为 xff1a http localhost 8888 tree 在某些情况下 xff0c
  • F3飞控的调试

    http www moz8 com thread 109506 1 1 html
  • 航模飞机设计基础知识

    部分引用源1 xff1a KSP飞机设计简易指南 http tieba baidu com p 2272016546 FAR进阶气动稳定性和控制教程 http bbs deeptimes org forum php mod 61 viewt
  • SLA技术3D打印机的原理

    SLA是Stereo lithography Appearance的缩写 xff0c 即立体光固化成型法 用特定波长与强度的激光聚焦到光固化材料表面 xff0c 使之由点到线 xff0c 由线到面顺序凝固 xff0c 完成一个层面的绘图作业

随机推荐

  • STM32F103C8T6读取气压计MS5611,I2C读取模式

    笔者最近想用气压计模块来测一下相对高度 xff0c 使用的元器件如下图所示 所使用的最小系统板 所使用的气压计模块 其实读取还是蛮简单的 xff0c 根据核心板引脚图选择I2c接口 xff0c 然后借鉴正点原子的模拟i2c程序 xff0c
  • keil 的头文件

    许多初学者使用网上下载的程序时都会遇到这样一个问题 xff0c 就是头文件找不到 我想就这个问题说明一下 首先 xff0c 我们用到的KEIL有几种版本的 xff0c 头文件也不同 有reg51 h和at89x51 h两种比较常见 at89
  • 关于串口的初始化Uart_Init(0, 115200)

    void Uart Init int pclk int baud int i if pclk 61 61 0 因为Main c 中定义了 GLOBAL CLK 61 1 所以 PCLK 在 option h 中定义 在Main c 中的设置
  • 【学习笔记】Ubuntu双系统+搭建个人服务器

    Ubuntu双系统 43 搭建个人服务器 前言1 Ubuntu 43 Win双系统1 1 制作U盘启动盘1 2 系统分盘1 3 安装Ubuntu系统 2 搭建个人服务器2 1 设置root2 2 配置ssh2 3 向日葵连接 3 内网穿透3
  • IMU 测量模型和运动学模型

    一 概念 高斯白噪声 测量噪声是AD转换器件引起的外部噪声 xff0c 波动激烈的测量白噪声 随机游走 这里指零偏Bias 随机游走噪声 xff0c 是传感器内部机械 温度等各种物理因素产生的传感器内部误差的综合参数 xff0c 是变化缓慢
  • java参数校验注解

    java参数校验注解 java中前后台参数传递时如何对参数进行校验 校验主要使用到 javax validation类 一 引入依赖 SpringBoot的web组件中已引入validation的jar包 xff0c 但也可自行引入 spa
  • SpringBoot集成阿里easyexcel(三)CellWriteHandler图片转换

    继承单元格处理器 xff0c 通过重写不同方法 xff0c 对单元格进行处理 span class token keyword public span span class token keyword class span span cla
  • 使用Mybatis-plus拦截加密数据

    使用Mybatis plus拦截加密数据 使用自定义注解来标识需要加密的po和字段 xff0c 并通过mybaitsplus的插件工具类Interceptor类来实现对数据的拦截与加密转换操作 一 自定义加密注解 作用在类上的注解 pack
  • SpringBoot集成阿里easyexcel(四)Converter导入导出数据转换器

    SpringBoot集成阿里easyexcel xff08 四 xff09 Converter导入导出数据转换器 通过com alibaba excel converters Converter转换器实现Excel导入导出时Java数据与E
  • SpringBoot集成Ehcache缓存

    SpringBoot集成Ehcache缓存 Ehcache有两种缓存方式 xff0c 分别是堆内存 磁盘 xff08 非堆内存 xff09 一 堆内存缓存 也就是MemoryStore xff0c 速度最快 xff0c 不适合存放大量数据
  • Spring的切面编程(AOP)概念与使用AOP实现日志记录

    Spring的切面编程 xff08 AOP xff09 概念与使用 一 面向切面编程 定义 面向切面编程 xff08 AOP xff09 是通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术 作用 xff1a 利用AOP对业务
  • 关于intrins.h头文件的介绍

    在单片机中应用最多的当然就是移位函数 xff0c 利用移位函数可以更简便的实现流水灯等效果 移位函数 移位函数名 左移 span class token function crol span span class token punctua
  • 大批量数据分批批量插入或更新(Mybatis+MySQL)

    大批量数据分批批量插入或更新 在MySQL数据库的前提下 xff0c 插入或更新大批量数据 首先批量插入需要考虑到以下几个因素 xff1a 数据库一次可以承受多大或者多少条数据的插入批量插入是否会占用Mysql资源太久 xff0c 影响系统
  • VSCode配置C++开发环境

    更新细节 2020 7 3 更新细节及排版 2022 6 9 昨天从下午一直研究到晚上十一点 xff0c 查阅了很多博客资料 xff0c 还是没配置好VSCode的C 43 43 开发环境 xff0c 今天早上又弄了一下 xff0c 现在O
  • stm32模拟输出PPM信号

    PPM信号周期为20ms xff0c 分成10分代表10个通道信号 xff0c 也就是2ms代表一个信号 0 5ms代表一个通道信号的开始 xff0c 所以0 5ms 2ms为通道范围控制 LED p1 39 A 39 8 IO口初始化 x
  • 使用JSON.parse,解决ie6-7上JSON未定义问题

    使用JSON parse时出现JSON未定义问题 xff0c JSON不是标准的javascript类型 xff0c 一些高级的浏览器支持 xff0c 但一些老一点的浏览器不支持JSON 如ie6 7 若需要 ie6 7 支持JSON只需要
  • C语言中的大小端转换与高低位颠倒

    在说大小端高低位之前 xff0c 肯定要说明数据在计算机内是如何存储的 在计算机中 xff0c 我们将数据分割成了一个一个的字节 xff08 byte xff09 xff0c 而每个字节又有8位 xff08 bit xff09 一个字节 x
  • C语言库函数中的Strcat函数

    一 Strcat函数的参数 Strcat函数所引用的头文件是 lt string h gt char strcat char strDestination const char strSource 参数说明 xff1a strDestina
  • SLAM中的marginalization 和 Schur complement

    在视觉SLAM的很多论文中 xff0c 会大量或者偶尔出现marginalization这个词 翻译为边缘化 xff0c 有的论文是特地要用它 xff0c 比如sliding window slam 2 okvis 3 dso 4 而有的论
  • 数据结构之单链表循环

    单链表循环代码如下 xff1a include lt stdio h gt include lt stdlib h gt typedef struct node int data struct node next sqlist sqlist