7.9数据结构
思维导图


作业
doubleloop.h
#ifndef __DOUBLELOOP_H__
#define __DOUBLELOOP_H__#include <stdio.h>
#include <stdlib.h>typedef int datatype;
typedef struct node
{union{int len;datatype data;};struct node *pri;//前驱指针struct node *next;//后继指针
}node,*node_p;//创建链表
node_p list_create();
//创建节点
node_p node_create(node_p H,datatype data);
//判空
int node_empty(node_p H);
//尾插
int tail_input(node_p H,datatype data);
//遍历
int node_show(node_p H);
//尾删
int del_tail(node_p H);
//销毁
int node_free(node_p H);#endif
doubleloop.c
#include "doubleloop.h"//创建链表
node_p list_create()
{node_p H=(node_p)malloc(sizeof(node));if(NULL==H){printf("---创建链表失败---\n");return NULL;}H->len=0;H->pri=H;H->next=H;printf("---创建链表成功---\n");return H;
}
//创建节点
node_p node_create(node_p H,datatype data)
{node_p new=(node_p)malloc(sizeof(node));if(new==NULL){printf("---创建节点失败---\n");return NULL;}new->data=data;new->pri=H;new->next=H;return new;
}
//判空
int node_empty(node_p H)
{if(H==NULL){printf("---入参为空,请检查---\n");return -1;}return H->next==H;
}//尾插
int tail_input(node_p H,datatype data)
{if(H==NULL){printf("---入参为空,请检查---\n");return 0;}node_p new=node_create(H,data);node_p p=H->next;while(p->next!=H){p=p->next;}new->pri=p;p->next=new;H->len++;return 1;
}
//遍历
int node_show(node_p H)
{if(H==NULL||node_empty(H)){printf("---输出有误---\n");return 0;}node_p p=H->next;printf("链表为:H->");while(p!=H){printf("%d->",p->data);p=p->next;}printf("H\n");return 1;
}//尾删
int del_tail(node_p H)
{if(H==NULL||node_empty(H)){printf("---尾删失败,请检查---\n");return 0;}node_p p=H;//H会找到需要位置的前一个节点for(int i=0;i<H->len-1;i++)//len和pos是一个意思,是位置而不是下标,-1为了移动到最后一个的前一个节点停止{p=p->next;}node_p q=p->next;//定义出最后一个节点,方便释放空间p->next=H;//将倒数第二个节点指向NULL,一根线free(q);q=NULL;H->len--;return 1;
}//销毁
int node_free(node_p H)
{if(H==NULL){printf("---链表销毁有误,请检查---\n");return 0;}while(H->next!=H){del_tail(H);}free(H);H=NULL;printf("---链表销毁成功---\n");return 1;
}
相关文章:
7.9数据结构
思维导图 作业 doubleloop.h #ifndef __DOUBLELOOP_H__ #define __DOUBLELOOP_H__#include <stdio.h> #include <stdlib.h>typedef int datatype; typedef struct node {union{int len;datatype data;};struct node *pri;//前驱指针struct node *next;//后继指针…...
Python 文件操作:打开数据处理的大门
在 Python 的学习之旅中,文件操作是一个非常实用且必不可少的技能。不论是数据分析还是日常的数据处理,良好的文件操作技巧都能让你的编程之路更加顺畅。今天,我将带你走进 Python 文件操作的世界,不仅教你如何读写文件࿰…...
单对以太网连接器多场景应用
单对以太网连接器应用场景概述 单对以太网(Single Pair Ethernet,简称SPE)作为一种新兴的以太网技术,以其独特的优势在多个领域得到了广泛的应用。SPE通过单对电缆进行数据传输,支持高速数据传输,同时还能…...
Python pip的更新问题
你是否也出现了更新pip的情况 1、提示更新pip版本 pip install --upgrade pip2、更新操作,我操作了 pip install --upgrade pip更新了,等啊等。。。 然后就是连接超时,安装失败 3、我不信,我就要更新,我还要使用镜…...
[Linux][Shell][Shell基础] -- [Shebang][特殊符号][变量][父子Shell]详细讲解
目录 0.前置知识1.Shebang2.Linux特殊符号整理3.变量4.环境变量5.父子shell0.概念1.创建进程列表(创建子shell执行命令) 6.内置命令 vs 外置命令 0.前置知识 #用于注释shell脚本语⾔属于⼀种弱类型语⾔:⽆需声明变量类型,直接定义使⽤shell三剑客&#…...
DS200CVMAG1AEB处理器 控制器 模块
DS200CVMAG1AEB特征: 高性能:采用先进的控制算法和高功率IGBT器件,可提供高电流和精确的运动控制。 高精度:采用高分辨率编码器和位置环路技术,位置精度可达0.1μm,适用于各种精密机械应用,如数…...
阈值分割后配合Connection算子和箭头工具快速知道区域的ID并选择指定区域
代码 dev_close_window () read_image (Image, E:/机器视觉学习/海康视觉平台/二期VM视觉学习/二期VM视觉学习/机器视觉程序/标定相机找圆心和焊头修正相机找圆心之算法软件/标定相机找圆心和焊头修正相机找圆心之算法软件/03 标定相机找圆心/S2/1号机/1.bmp) get_image_size …...
【work】AI八股-神经网络相关
Deep-Learning-Interview-Book/docs/深度学习.md at master amusi/Deep-Learning-Interview-Book GitHub 网上相关总结: 小菜鸡写一写基础深度学习的问题(复制大佬的,自己复习用) - 知乎 (zhihu.com) CV面试问题准备持续更新贴 …...
【LeetCode】12. 小张刷题计划
稳住,能赢!没有经验的同学在面试岗位的时候,总是显得手忙脚乱,所以多练习,把技能提升,眼界提升,接着心态放平和,不要慌张,把面试题目读懂读透彻就会大大提升赢的概率。 1…...
Tomcat部署以及优化
1、tomcat tomcat是用java代码的程序,运行的是java的web服务器 tomcat和php一样都是用来处理动态页面,tomcat也可以做为web应用服务器,开源的 php处理.php为结尾的 tomcat 处理.jsp nginx 处理 .html 2、tomcat的特点和功能 1、servle…...
ubuntu 22 安装 lua 环境 编译lua cjson 模块
在 windows 下使用 cygwin 编译 lua 和 cjson 简直就是灾难,最后还是到 ubuntu 下完成了。 1、下载lua源码(我下载的 5.1 版本,后面还有一个小插曲), 直接解压编译,遇到一个 readline.h not found 的问题,需要安装 re…...
地下城游戏中都有哪些类型的服务器?
地下城类型的服务器以其独特的魅力吸引了众多玩家。这些服务器通常基于流行的地下城探险游戏,如《Minecraft》的地下城模式或《Dungeon Fighter Online》等,提供了丰富多样的游戏体验。下面,我们将探讨几种不同类型的地下城服务器及其特点。 …...
大模型面试(二)
这次又接到一个大模型岗位的面试。但是从面试过程来看,现在大模型岗位都要求有相关工作经验,还是太难进了。还是说国内公司早就过了培养人的年代了? 问到了哪些知识点: 开源大模型:项目里用的是浦语大模型࿰…...
rsync远程同步--累了,明天继续再写~。
rsync官网链接 rsync(Remote Sync,远程同步)开源快速备份工具,是一个用于本地和远程文件同步的Unix-like命令行程序。它使用“快速数据传输算法”,只发送源和目标之间的差异,因此数据传输非常高效。 可以在不同主机之间镜像同步整 个目录树…...
每日刷题(二分查找,匈牙利算法,逆序对)
目录 1.Sarumans Army 2.Catch That Cow 3.Drying 4.P3386 【模板】二分图最大匹配 5. Swap Dilemma 1.Sarumans Army 3069 -- Sarumans Army (poj.org) 这道题就是要求我们在给的的位置放入 palantir,每个 palantir有R大小的射程范围,要求求出最少…...
LLM应用构建前的非结构化数据处理(三)文档表格的提取
1.学习内容 本节次学习内容来自于吴恩达老师的Preprocessing Unstructured Data for LLM Applications课程,因涉及到非结构化数据的相关处理,遂做学习整理。 本节主要学习pdf中的表格数据处理 2.环境准备 和之前一样,可以参考LLM应用构建前…...
如何从数码相机恢复已删除的照片
照片恢复是恢复已删除照片的最佳工具,它带有恢复 RAW 照片的选项。在本文中,我们将解释如何恢复已删除的照片。 不仅对于专业摄影师,对于像我们这样喜欢捕捉回忆的人来说,瞬间相机都是重要的数码设备。遗憾的是,就像智…...
设计模式使用场景实现示例及优缺点(创建型模式——单例模式、建造者模式、原型模式)
创建型模式 单例模式(Singleton Pattern) 单例模式(Singleton Pattern)在Java中的使用场景与在其他编程语言中类似,其主要目的是确保一个类只有一个实例,并提供一个全局的访问点。以下是单例模式的一些常…...
LAMP万字详解(概念、构建步骤)
目录 LAMP Apache 起源 主要特点 软件版本 编译安装httpd服务器 编译安装的优点 操作步骤 准备工作 编译 安装 优化执行路径 添加服务 守护进程 配置httpd 查看 Web 站点的访问情况 虚拟主机 类型 部署基于域名的虚拟主机 为虚拟主机提供域名解析ÿ…...
金南瓜科技SECS/GEM:引领智能制造新潮流
引言 在当今快速发展的半导体行业中,智能制造和自动化生产已成为提升效率和降低成本的关键。金南瓜科技凭借其先进的SECS/GEM解决方案,正成为这一变革的先锋。 SECS/GEM:智能制造的核心 SECS/GEM(SEMI Equipment Communications …...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...
