当前位置: 首页 > news >正文

loop_list单向循环列表

#include "loop_list.h"
//创建单向循环链表
loop_p create_head()
{
    loop_p L=(loop_p)malloc(sizeof(loop_list));
    if(L==NULL)
    {
        printf("create fail\n");
        return NULL;
    }
    L->len = 0;
    L->next=L;
    return L;
}
//创建节点
loop_p create_node(datatype data)
{
    loop_p new=(loop_p)malloc(sizeof(loop_list));
    if(new==NULL)
    {
        printf("create fail\n");
        return NULL;
    }
    new->data=data;
    return new;
}
//头插
void insert_head(loop_p L,datatype data)
{
    if(L==NULL)
    {
        printf("data fail\n");
        return;
    }
    loop_p new=create_node(data);
    new->next=L->next;
    L->next=new;
    L->len++;
}
//输出
void out_put_loop(loop_p L)
{
    loop_p p=L->next;
    while(p!=L)
    {
        printf("%d--->\n",p->data);
        p=p->next;
    }
    putchar(10);
}
//按位置插入
void insert_pos(loop_p L,datatype data,int pos)
{
    loop_p new=create_node(data);
    loop_p p=L;
    for(int i=0;i<pos-1;i++)
    {
        p=p->next;
    }
    new->next=p->next;
    p->next=new;
    L->len++;
}
//尾删
void del_tail(loop_p L)
{
    loop_p p=L;
    while(p->next->next!=L)
    {
        p=p->next;
    }
    loop_p del=p->next;
    p->next=L;
    free(del);
    L->len--;
}
//按位置删除
int del_pos(loop_p L,datatype pos)
{
    loop_p p=L;
    for(int i=0;i<pos-1;i++)
    {
        p=p->next;
    }
    loop_p del = p->next;
    p->next=p->next->next;
    free(del);
    L->len--;
}
#ifndef __LOOP_LIST_H__
#define __LOOP_LIST_H__
#include <stdio.h>
#include <stdlib.h>

typedef int datatype;

typedef struct loop_list
{
    union
    {
        int len;
        datatype data;
    };
    struct loop_list *next;
}loop_list,*loop_p;


//创建单向循环链表
loop_p create_head();
//创建节点
loop_p create_node(datatype data);
//头插
void insert_head(loop_p L,datatype data);
//按位置插入
void insert_pos(loop_p L,datatype data,int pos);
//输出(看现象)
void out_put_loop(loop_p L);
//尾删
void del_tail(loop_p L);
//按位置删除
int del_pos(loop_p L,datatype pos);

#endif
#include "loop_list.h"
int main()
{
    loop_p L=create_head();
    insert_head(L,1);
    insert_head(L,2);
    insert_head(L,3);
    insert_pos(L,4,2);
    //del_tail(L);
    del_pos(L,2);
    out_put_loop(L);

    return 0;
}
 

相关文章:

loop_list单向循环列表

#include "loop_list.h" //创建单向循环链表 loop_p create_head() { loop_p L(loop_p)malloc(sizeof(loop_list)); if(LNULL) { printf("create fail\n"); return NULL; } L->len 0; L->nextL; retur…...

Python爬虫实战第二例【二】

零.前言&#xff1a; 本文章借鉴&#xff1a;Python爬虫实战&#xff08;五&#xff09;&#xff1a;根据关键字爬取某度图片批量下载到本地&#xff08;附上完整源码&#xff09;_python爬虫下载图片-CSDN博客 大佬的文章里面有API的获取&#xff0c;在这里我就不赘述了。 一…...

Eclipse是如何创建web project项目的?

前面几篇描述先后描述了tomcat的目录结构和访问机制&#xff0c;以及Eclipse的项目类型和怎么调用jar包&#xff0c;还有java的main函数等&#xff0c;这些是一些基础问题&#xff0c;基础高清出来才更容易搞清楚后面要说的东西&#xff0c;也就是需求带动学习&#xff0c;后面…...

Excel的中高级用法

单元格格式&#xff0c;根据数值的正负分配不同的颜色和↑ ↓ 根据数值正负分配颜色 2-7 [蓝色]#,##0;[红色]-#,##0 分配颜色的基础上&#xff0c;根据正负加↑和↓ 2↑-7↓ 其实就是在上面颜色的代码基础上加个 向上的符号↑&#xff0c;或向下的符号↓ [蓝色]#,##0↑;[红色…...

【ArcGIS】基本概念-空间参考与变换

ArcGIS基本概念-空间参考与变换 1 空间参考与地图投影1.1 空间参考1.2 大地坐标系&#xff08;地理坐标系&#xff09;1.3 投影坐标系总结 2 投影变换预处理2.1 定义投影2.2 转换自定义地理&#xff08;坐标&#xff09;变换2.3 转换坐标记法 3 投影变换3.1 矢量数据的投影变换…...

Qt QWidget 简约美观的加载动画 第五季 - 小方块风格

给大家分享两个小方块风格的加载动画 &#x1f60a; 第五季来啦 &#x1f60a; 效果如下: 一个三个文件,可以直接编译运行 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QGridLayout> int main(int argc, char *arg…...

针对KZG承诺和高效laconic OT的extractable witness encryption

1. 引言 2024年以太坊基金会等成员论文 Extractable Witness Encryption for KZG Commitments and Efficient Laconic OT&#xff0c;开源代码实现见&#xff1a; https://github.com/rot256/research-we-kzg&#xff08;Rust&#xff09; 在该论文中&#xff0c;提供了一种…...

Spring Boot中实现列表数据导出为Excel文件

点击下载《Spring Boot中实现列表数据导出为Excel文件》 1. 前言 本文将详细介绍在Spring Boot框架中如何将列表数据导出为Excel文件。我们将通过Apache POI库来实现这一功能&#xff0c;并解释其背后的原理、提供完整的流程和步骤&#xff0c;以及带有详细注释的代码示例。最…...

华为ipv6 over ipv4 GRE隧道配置

思路&#xff1a; PC1访问PC2时&#xff0c;会先构造源ipv6为2001:1::2&#xff0c;目的IPV6为2001:2::2的ipv6报文&#xff0c;然后查看PC1的路由表&#xff0c;发送到R1&#xff0c;r1接收后&#xff0c;以目的IPV6地址2001:2::2查询IPV6路由表&#xff0c;出接口为tun0/0/0…...

项目解决方案:海外门店视频汇聚方案(全球性的连锁店、国外连锁店视频接入和汇聚方案)

目 录 一、概述 二、建设目标及需求 2.1 建设目标 2.2 需求描述 2.3 需求分析 三、建设方案设计 3.1 系统方案拓扑图 3.2 方案描述 3.3 服务器配置推荐 四、产品功能 4.1 资源管理平台 &#xff08;1&#xff09;用户权限管理 &#xff08;2&#xff09…...

Java中的数据类型详解

引言 在Java编程中&#xff0c;数据类型是非常重要的概念&#xff0c;它定义了数据的类型和范围&#xff0c;帮助程序员有效地操作数据。Java的数据类型可以分为两大类&#xff1a;基本数据类型和引用数据类型。本文将详细介绍Java中的各种数据类型&#xff0c;并附上相应的代…...

ABBYY FineReader16文档转换、PDF管理与文档比较功能介绍

ABBYY FineReader 16作为一款OCR和PDF一体化程序&#xff0c;其强大的功能使得文档处理变得简单高效。在众多功能中&#xff0c;文档转换、PDF管理和文档比较这三大功能尤为突出&#xff0c;成为了众多企业和个人用户的首选工具。 ABBYY Finereader 16-安装包下载如下&#xff…...

导览系统厂家|景区电子导览|手绘地图|AR导览|语音导览系统

随着元宇宙、VR、AR等新技术的快速发展&#xff0c;旅游服务也更加多元化、智能化。景区导览系统作为旅游服务的重要组成部分&#xff0c;其形式更加多元化智能化。智能导览系统作为一种新的服务方式&#xff0c;能够为游客提供更加便捷的旅游服务和游览体验&#xff0c;也逐渐…...

oracle 如何使用脚本实现访问控制(无需额外插件)

随着这些年勒索病毒的爆发,各个企业对数据安全的要求越来越高,常见的办法有开启数据库审计,加数据库防火墙,网络限制等等;但是细粒度审计会消耗大量系统资源,第三方数据库防火墙一般是需要收费的;这里介绍我个人常用的四个db级别trigger,用于记录部分关键信息可以应对部…...

【C语言】指针初阶

正文开始之前&#xff0c;我们要记住一个东西就是&#xff1a;地址指针 目录 一、指针的解释二、指针变量和地址1、取地址操作符2、指针变量和解引用操作1、指针变量2、拆解指针类型3、解引用操作符4、注意事项 3、指针变量的大小4、指针的解引用5、void*指针 三、指针的运算1、…...

07_html

文章目录 引言前端概述分类 HTML快速入门重要的body标签注释hr标签br标签一些常见的标签标题标签div标签span标签p标签a标签img标签路径问题 ol和ul标签table标签input标签&#xff08;表单元素&#xff09;textarea标签&#xff08;表单元素&#xff09;select标签&#xff08…...

全量知识系统问题及SmartChat给出的答复 之1

Q1. 一套完整的全量知识系统应该有哪些组成部分&#xff1f; 一套完整的全量知识系统应该包括以下组成部分&#xff1a; 数据采集&#xff1a;收集、整理、清洗和存储各种数据&#xff0c;包括结构化数据、半结构化数据和非结构化数据等。 数据存储和管理&#xff1a;建立可靠…...

【appium】App类型、页面元素|UiAutomator与appium|App元素定位

目录 一、App前端基础知识 1、App类型划分 2、App类型对比 3、App页面元素 App页面元素分为布局和控件两种 常见布局&#xff1a; 常见控件&#xff1a;定位软件&#xff1a;appium和sdk自带的uiautomatorviewer都可以定位 二、App元素定位 1、id定位 2、text定位 3…...

ChatGpt大模型入门

环境配置 创建虚拟环境 建议创建一个新的虚拟环境&#xff0c;避免安装依赖冲突&#xff0c; conda下载&#xff1a; https://docs.conda.io/en/latest/miniconda.html conda安装&#xff1a; https://zhuanlan.zhihu.com/p/591091259 或者使用venv 使用参考&#xff1a;http…...

Mac 配置Clion Qt 调试显示变量值

背景 使用Clion开发Qt程序&#xff0c;在进行调试时&#xff0c;会看不到Qt类的变量值&#xff0c;只有指针形式&#xff0c;对于调试很不方便。 环境&#xff1a; Macbook ProCPU&#xff1a;M3Qt 5.15.13CLion 2023.3.4 解决方案 为了让Clion能显示Qt类的值&#xff0c;…...

GPT、BERT、LLaMA 这些模型类别怎么区分

最核心的一句&#xff1a;- BERT&#xff1a;偏“读懂”- GPT&#xff1a;偏“写出来”- LLaMA&#xff1a;本质上也是 GPT 这一路&#xff0c;只是是一个重要的开源/开放权重模型家族先看本质区别| 类别 | 结构 | 训练方式 | 擅长 ||---|---|---|---|| BERT | Encoder-only | …...

你的竞争对手已经用 AI 实现规模化复制,你还在靠个人能力撑着? 2026企业数字化转型避坑指南

站在2026年这个节点回望&#xff0c;AI早已跨越了“技术尝鲜”的门槛。 现在的商业竞争&#xff0c;本质上是“硅基劳动力”规模与密度的竞争。 当你的竞争对手通过构建智能体&#xff08;Agent&#xff09;矩阵&#xff0c;实现24小时不间断的业务流转、秒级的市场响应和极低的…...

iFakeLocation:跨平台iOS虚拟定位终极指南,无需越狱轻松修改设备位置

iFakeLocation&#xff1a;跨平台iOS虚拟定位终极指南&#xff0c;无需越狱轻松修改设备位置 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation 在数字时代&a…...

Go语言的sync.Cond事件驱动

Go语言中的sync.Cond&#xff1a;事件驱动的高效同步机制 在并发编程中&#xff0c;协调多个goroutine的执行顺序是一项关键挑战。Go语言的sync.Cond&#xff08;条件变量&#xff09;为开发者提供了一种高效的事件驱动机制&#xff0c;能够基于特定条件实现goroutine的阻塞与…...

数字IC版图新手避坑指南:以加法器为例,解决DRC/LVS错误和仿真毛刺

数字IC版图设计实战&#xff1a;从加法器案例拆解DRC/LVS错误与仿真毛刺的根治方案 第一次在Cadence Virtuoso里完成加法器版图时&#xff0c;看着Calibre报出的237个DRC错误和LVS窗口里密密麻麻的mismatch提示&#xff0c;我对着屏幕发呆了半小时——那些教科书上轻描淡写的&q…...

Gemma-3-270m入门指南:从模型选择到提问技巧的完整新手教学

Gemma-3-270m入门指南&#xff1a;从模型选择到提问技巧的完整新手教学 想试试最新的AI对话模型却不知道从哪开始&#xff1f;Gemma-3-270m可能是你的完美选择。这个由谷歌打造的轻量级模型&#xff0c;虽然参数规模不大&#xff0c;但能力却相当出色&#xff0c;特别适合新手…...

Blazor + WASM + WebGPU 实时渲染面试突击包:含WebAssembly SIMD加速、GPU缓冲区绑定、帧同步调试全流程(仅限Q2开放下载)

第一章&#xff1a;C# Blazor 2026 现代 Web 开发趋势 面试题汇总随着 .NET 9 的正式发布与 WebAssembly 运行时性能的持续优化&#xff0c;Blazor 已成为构建高性能、全栈式 C# Web 应用的核心范式。2026 年面试官更关注开发者对服务端预渲染&#xff08;SSR&#xff09;、混合…...

别再死记硬背Attention公式了!用Python+PyTorch手撕一个Hierarchical Attention Network(HAN)

从零实现层次注意力网络&#xff1a;用PyTorch构建可解释的文本分析模型 在自然语言处理领域&#xff0c;理解长文档的层次结构一直是个挑战。传统的注意力机制虽然强大&#xff0c;但面对嵌套的文本层级&#xff08;如词→句→段落&#xff09;时往往力不从心。这就是Hierarch…...

Axure RP中文界面终极配置指南:3分钟实现专业汉化

Axure RP中文界面终极配置指南&#xff1a;3分钟实现专业汉化 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英…...

Hitboxer:终极SOCD键盘映射工具 - 如何彻底解决游戏输入冲突问题

Hitboxer&#xff1a;终极SOCD键盘映射工具 - 如何彻底解决游戏输入冲突问题 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在激烈的游戏对决中&#xff0c;你是否曾因同时按下W和S键导致角色卡顿&#xff1f;…...