数据结构与算法——顺序表的实现以及增、插、删、查、印、毁
文章目录
- 一、前言
- 二、顺序表的概念与结构
- 2.1顺序表的概念
- 2.2顺序表的结构
- 三、顺序表的分类
- 3.1静态顺序表
- 3.1.1静态顺序表的弊端
- 3.2动态顺序表
- 3.2.1动态顺序表的相对利弊
- 3.2.2动态顺序表的增容方式
- 四、顺序表的增、插、删、查、印、毁
- 4.1 顺序表的增容
- 4.2顺序表的尾插和头插
- 4.2.1尾插
- 4.2.2头插
- 4.2.3指定位置插入
- 4.3顺序表的尾删和头删
- 4.3.1尾删
- 4.3.2头删
- 4.3.3指定位置删除
- 4.4顺序表的查找
- 4.5顺序表的打印
- 4.6顺序表的销毁
- 五、整体代码分析
- 5.1头文件——SeList.h
- 5.1.1头文件的作用
- 5.1.2头文件代码展示
- 5.2主体代码文件——SeList.c
- 5.3测试文件——test.c
- 5.3.1测试文件的作用
- 5.3.2测试文件具体演示
- 5.3.2.1尾插演示
- 5.3.2.2头插演示
- 5.3.2.3尾删演示
- 5.3.2.4头删演示
- 5.3.2.5指定位置插入演示
- 5.3.2.6指定位置删除演示
- 5.3.2.7元素查找演示
- 5.3.2.8空间销毁演示
- 5.3.3测试文件代码展示
- 六、总结
一、前言
Hello啊,各位老铁们,今天的你是否在继续学习呢?up呢最近也是在学习数据结构的时候被其魅力冲昏了头脑,也是沉淀了大概10天左右吧?这10天你们有没有想念up呢?其实有时候,我们也是需要做减法,一味的累计而不去消化,最后可能被撑死。所以大家在学完知识过后,也要去沉淀沉淀哦。好啦我们回归今天的的主题,up今天给大家分享的是数据结构——顺序表。
二、顺序表的概念与结构
2.1顺序表的概念
顺序表:用一段物理地址连续的储存单元依次存储数据元素的线性结构,它的本质是用数组存储。
2.2顺序表的结构
三、顺序表的分类
顺序表可以分为静态顺序表和动态顺序表两类。
3.1静态顺序表
3.1.1静态顺序表的弊端
静态顺序表相当于有一种“一锤定音”的效果,那肯定也有着非常明显的弊端:空间给少了不够用,给大了容易造成浪费。
3.2动态顺序表
刚刚呢up介绍了静态顺序表,那么从逆向思维的角度来看,是不是也存在动态顺序表呢?答案是肯定的。
3.2.1动态顺序表的相对利弊
动态顺序表在一定程度上减少了空间的浪费,但是这只是相对的,也不排除造成空间浪费的可能。
3.2.2动态顺序表的增容方式
顾名思义,动态顺序表那么它的内存空间大小肯定是动态的,在空间不够的同时回自动增容——成倍数增容,一般情况下是2倍增容。
四、顺序表的增、插、删、查、印、毁
4.1 顺序表的增容
在我们创建顺序表的时候,为了方便之后的使用,我们肯定会判断空间是否为满的情况,如果空间满了,那我们则需要实现增容。
画图展示:
代码展示
4.2顺序表的尾插和头插
4.2.1尾插
画图展示:
代码展示:
4.2.2头插
画图展示
代码展示
4.2.3指定位置插入
画图展示
代码展示:
4.3顺序表的尾删和头删
4.3.1尾删
画图展示·
代码展示:
4.3.2头删
画图展示
代码展示:
4.3.3指定位置删除
画图展示:
代码展示:
4.4顺序表的查找
查找方法:从顺序表第一个元素开始依次遍历,判断每一个元素和要查找的元素是否相同,相同则返回
代码展示:
4.5顺序表的打印
打印方法:从顺序表第一个元素开始,依次遍历,打印每一个元素
代码展示:
4.6顺序表的销毁
代码展示:
五、整体代码分析
OK啊up刚刚已经给大家讲解完毕了顺序表的全部情况。但是有的兄弟就问:“up up,我还是觉得这样有点太生硬了,有整体分析一波的步骤吗?"作为一个非常宠粉的up,我只能说:有点,兄弟,有的。那我们现在就来整体分析一波。
我们顺序表的代码为了方便并且清晰地实现,实际上需要创建3个文件,一个头文件(SeList.h)和两个源文件(Selist.c 和 test.c)。这个时候又有宝子疑问了——明明可以只写一个源文件就解决了,为什么还要分为3个文件呢?不急,请往下看。
5.1头文件——SeList.h
5.1.1头文件的作用
我们之前在C语言的学习中,已经非常清晰地了解到了头文件的作用,具体由以下7点:
1、声明接口和模块化代码;
2、减少重复代码;
3、提高代码复用性;
4、加强类型安全检查;
5、防止重复包含;
6、支持库功能调用;
7、组织项目结构。
5.1.2头文件代码展示
//头文件SeList.h
#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef int SLDataType;
struct Sequelist
{SLDataType* arr;int size;int capacity;
};
typedef struct Sequelist SL;
void SLInit(SL* ps);// 初始化
void SLPrint(SL* ps);//打印
void SLDestroy(SL* ps);//销毁void SLPushBack(SL* ps, SLDataType x);//尾插
void SLPushFront(SL* ps, SLDataType x);//头插
void SLPopBack(SL* ps);//尾删
void SLPopFront(SL* ps);//头删
void SLInsert(SL* ps, int pos, SLDataType x);//指定位置插入
void SLErase(SL* ps, int pos);//指定位置删除
int SLFind(SL* ps, SLDataType x);//查找
5.2主体代码文件——SeList.c
主体代码就是我们程序中用来实现功能的代码。我们将所有实现功能的代码放在一起,也更加的条理清晰。
//主体文件SeList.c
#include "SeList.h"
void SLInit(SL* ps)//初始化
{ps->arr = NULL;ps->size = 0;ps->capacity = 0;
}
void SLCheckCapacity(SL* ps)//增容
{if (ps->size == ps->capacity)//空间已满{SLDataType newcapacity = ps->capacity == 0 ? 4 : 2 * ps->capacity;//三目操作符判断原本空间是否为空,是则增容4个空间,不是则进行两倍增容SLDataType* tmp = (SLDataType*)realloc(ps->arr, newcapacity * sizeof(SLDataType));if (tmp == NULL) //判断是否增容失败{perror("realloc fail!");exit(1);}ps->arr = tmp;ps->capacity = newcapacity;}
}
void SLPushBack(SL* ps, SLDataType x)//尾插
{assert(ps);SLCheckCapacity(ps);ps->arr[ps->size++] = x;
}
void SLPushFront(SL* ps, SLDataType x)//头插
{assert(ps);//断言不为空SLCheckCapacity(ps);//判断是否需要增容for (int i = ps->size;i > 0;i--)//元素往后移动{ps->arr[i] = ps->arr[i - 1];}ps->arr[0] = x;++ps->size;
}
void SLPopBack(SL* ps)//尾删
{assert(ps && ps->size);--ps->size;
}
void SLPopFront(SL* ps)//头删
{assert(ps && ps->size);for (int i = 0;i< ps->size-1;i++)//从第二个元素开始依次往前移动{ps->arr[i] = ps->arr[i + 1];}--ps->size;
}
void SLInsert(SL* ps, int pos, SLDataType x)//指定位置插入
{assert(ps);assert(pos >= 0 && pos < ps->size);//前提条件判断SLCheckCapacity(ps);for (int i = ps->size;i > pos;i--)//从最后一个元素往后移,直到pos位置{ps->arr[i] = ps->arr[i - 1];}ps->arr[pos] = x;++ps->size;
}
void SLErase(SL* ps, int pos)//指定位置删除
{assert(ps);assert(pos >= 0 && pos < ps->size);//前提条件判断for (int i = pos;i < ps->size - 1;i++)//从pos位置后一个元素依次往前移动,直到最后一个元素{ps->arr[i] = ps->arr[i + 1];}--ps->size;
}
int SLFind(SL* ps, SLDataType x)//查找元素
{for (int i = 0;i < ps->size;i++)//依次遍历{if (ps->arr[i] == x)return i; //找到则返回i}return -1; //找不到则返-1
}
void SLDestroy(SL* ps)//销毁
{assert(ps);if (ps->arr)free(ps->arr);ps->arr = NULL;ps->size = 0;ps->capacity = 0;
}
void SLPrint(SL* ps)//打印
{for (int i = 0;i < ps->size;i++)//遍历打印{printf("%d ", ps->arr[i]);}printf("\n");
}
5.3测试文件——test.c
5.3.1测试文件的作用
最后就来到了我们的测试文件了,那么测试文件又有什么好处呢?
1、验证程序的正确性;
2、提高代码之路;
3、优化性能;
4、文档作用。
5.3.2测试文件具体演示
5.3.2.1尾插演示
5.3.2.2头插演示
5.3.2.3尾删演示
5.3.2.4头删演示
5.3.2.5指定位置插入演示
5.3.2.6指定位置删除演示
5.3.2.7元素查找演示
5.3.2.8空间销毁演示
5.3.3测试文件代码展示
//text.c
#include "SeList.h"
test01()
{SL s1;SLInit(&s1);//初始化//SLPushBack(&s1, 1);//SLPushBack(&s1, 2);//SLPushBack(&s1, 3);//SLPushBack(&s1, 4);//SLPrint(&s1);//尾插SLPushFront(&s1, 1);SLPushFront(&s1, 2);SLPushFront(&s1, 3);SLPushFront(&s1, 4);//SLPrint(&s1);//头插//SLPopBack(&s1);//SLPrint(&s1);//尾删//SLPopFront(&s1);//SLPrint(&s1);//SLInsert(&s1, 2, 5);//指定位置插入//SLPrint(&s1);//SLErase(&s1, 2);//指定位置删除//SLPrint(&s1);//int find = SLFind(&s1, 2);//元素查找//{// if (find != -1)// printf("找到了!\n");// else// printf("找不到!\n");//}//SLPrint(&s1);SLDestroy(&s1);//SLPrint(&s1);
}
int main()
{test01();return 0;
}
六、总结
以上就是关于数据结构——顺序表的全部知识。up在最后演示的部分可能注释的代码有一点多,也是麻烦各位宝子们在阅读的时候耐心一点。最后也希望各位宝子学有所获,精益求精。当然也希望大家可以一键三连,嘿嘿嘿。
时间的沉淀,会让努力变得更加珍贵。
相关文章:
数据结构与算法——顺序表的实现以及增、插、删、查、印、毁
文章目录 一、前言二、顺序表的概念与结构2.1顺序表的概念2.2顺序表的结构 三、顺序表的分类3.1静态顺序表3.1.1静态顺序表的弊端 3.2动态顺序表3.2.1动态顺序表的相对利弊3.2.2动态顺序表的增容方式 四、顺序表的增、插、删、查、印、毁4.1 顺序表的增容4.2顺序表的尾插和头插…...
环境 tensorflow ERROR: No matching distribution found for ai-edge-litert
提示:环境搭建 文章目录 前言多依赖安装 前言 提示:版本 之前文章 condajupyter 环境搭建 PyTorch 2.6 cpu 环境搭建 系统 :ubuntu 22.0 python :3.8 ERROR: No matching distribution found for ai-edge-litert PyTorch: sta…...
基于深度强化学习的智能机器人路径规划技术研究
在人工智能与机器人技术飞速发展的今天,智能机器人在工业、服务、物流等领域的应用日益广泛。路径规划作为智能机器人运动的核心技术之一,直接影响机器人的工作效率和安全性。近年来,深度强化学习(Deep Reinforcement Learning, D…...
【ManiSkill】环境success条件和reward函数学习笔记
1. “PickCube-v1” info["success"]:用于指示任务是否成功完成 布尔型张量,在环境的evaluate()方法中计算并返回: "success": is_obj_placed & is_robot_static这确保了机器人不仅能将物体准确放置在目标位置&am…...
畅捷通T+与吉客云数据集成案例解析
畅捷通T与吉客云的高效数据集成案例分享 在企业信息化系统中,数据的高效流转和准确对接是确保业务顺畅运行的关键。本文将聚焦于一个具体的系统对接集成案例:如何将畅捷通T中的采购入库单(红字)数据无缝集成到吉客云中࿰…...
Vue 项目中使用$refs来访问组件实例或 DOM 元素,有哪些注意事项?
大白话Vue 项目中使用$refs来访问组件实例或 DOM 元素,有哪些注意事项? 在 Vue 项目里,$refs 是个超实用的工具,它能让你直接访问组件实例或者 DOM 元素。不过使用的时候,有一些地方可得注意,下面咱就详细…...
Docker Compose 基础知识
一. Docker Compose 引言 Docker Compose 是 Docker 官方提供的一个用于定义和运行多容器 Docker 应用程序的工具。它通过一个yaml格式的配置文件(通常命名为 docker-compose.yml ),文件中定义多个服务、网络和卷,从而简化复杂应…...
科技赋能|ZGIS综合管网智能管理平台守护地下城市生命线
地下管网作为城市公共安全的重要组成部分,担负着城市的信息传递、能源输送、排涝减灾等重要任务,是维系城市正常运行、满足群众生产生活需要的重要基础设施,是城市各功能区有机连接和运转的维系,因此,也被称为城市“生…...
EXCEL报错:无法共享此工作薄,因表包含excel表或xml映射的解决方法
在分享工作薄是,如果出现了“无法共享此工作薄,因表包含excel表或xml映射”的报错,那么有两个原因: 1.包含Excel表格,这个也是相对比较常见的原因。 首先选中表格。如果你不知道表的位置在哪,那么在Excel左…...
Go 语言标准库中path模块详细功能介绍与示例
Go语言的 path 模块提供了处理斜杠分隔路径的通用方法,适用于跨平台路径操作(如 URL 路径或 Unix 风格路径)。以下是 path 模块的核心方法及示例说明: 1. path.Base 返回路径的最后一个元素(类似 Unix 的 basename 命…...
在Vue 3 + TypeScript + Vite 项目中安装和使用 SCSS
在Vue 3 TypeScript Vite 项目中安装和使用 SCSS 1、安装 SCSS 的相关依赖 npm install sass --save-dev2、配置 Vite 对于 Vue 3,Vite 已经内置了对 SCSS 的支持,通常不需要额外的配置。但是,如果需要自定义配置,可以在路径…...
洛谷题单1-B2005 字符三角形-python-流程图重构
题目描述 给定一个字符,用它构造一个底边长 5 5 5 个字符,高 3 3 3 个字符的等腰字符三角形。 输入格式 输入只有一行,包含一个字符。 输出格式 该字符构成的等腰三角形,底边长 5 5 5 个字符,高 3 3 3 个字符…...
实现金蝶与钉钉无缝对接以高效管理银行账号信息
【资料】金蝶&钉钉—银行账号 在企业信息化管理中,数据的高效集成和实时同步至关重要。本文将分享一个实际的系统对接集成案例:如何将金蝶云星空的数据集成到钉钉平台,实现银行账号信息的无缝对接。 本次集成方案【资料】金蝶&钉钉…...
正则表达式-万能表达式
1、正则 正则表达式是一组由字母和符号组成的特殊文本, 它可以用来从文本中找 出满足你想要的格式的句子. {“basketId”: 0, “count”: 1, “prodId”: #prodId#, “shopId”: 1, “skuId”: #skuId#} #prodId# re相关的文章: https://www.cnblogs.com/Simple-S…...
ComfyUi教程之阿里的万象2.1视频模型
ComfyUi教程之阿里的万象2.1视频模型 官网Wan 2.1 特点 一、本地安装1.1克隆仓库1.2 安装依赖(1.3)下载模型(1.4)CUDA和CUDNN 二、 使用体验(2.1)官方例子(2.2)执行过程(…...
如何在一个图片上添加另外一个图片
如果你使用的windows10 系统,可以使用系统自带的画图工具 1. 打开windows搜索, 画图工具 2. 在画图软件内, ctrlc 复制图片 , ctrlv粘贴图片 3. 调整想要粘贴的图片,到上图汇总,最后保存,或者…...
【面试题】在 CSS 中,实现一个 div 中的子 div 水平垂直居中
1. 使用 Flexbox 特点:简单、直观,现代浏览器支持良好。 代码: css .parent {display: flex;justify-content: center; /* 水平居中 */align-items: center; /* 垂直居中 */height: 200px; /* 父容器需有高度 */ } .child {…...
Electron 项目开机自启动
app.setLoginItemSettings 与 auto-launch 对比分析 一、稳定性对比 1. app.setLoginItemSettings 优点:作为Electron官方API,有官方维护和支持缺点: 在某些Windows版本上存在已知问题部分Windows 10/11更新后可能失效在macOS权限更严格的…...
sql基础
本文多数内容属于个人基于网上资料的理解,如果有问题请告知修改,十分感谢 定义 百度百科:SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极…...
【C++数据库】SQLite3数据库连接与操作
注意:本文代码均为C++20标准下实现 一、SQLite3库安装 1.1 安装库文件 【工具】跨平台C++包管理利器vcpkg完全指南 vcpkg install sqlite3# 集成至系统目录,之前执行过此命令的无需再次执行 vcpkg integrate install1.2 验证代码 在VS2022中新建控制台项目,测试代码如下…...
数据结构——Map和Set
1. 搜索树 1. 概念 ⼆叉搜索树⼜称⼆叉排序树,它可以是⼀棵空树,或者是具有以下性质的⼆叉树: • 若它的左⼦树不为空,则左⼦树上所有节点的值都⼩于根节点的值 • 若它的右⼦树不为空,则右⼦树上所有节点的值都⼤于根节点的值…...
zsh安装以及安装配置oh-my-zsh安装zsh-autosuggestionszsh-syntax-highlighting
下面是安装 zsh 及配置 oh‑my‑zsh 的详细步骤,适用于 Linux 和 macOS 环境: 1. 安装 zsh 1.1 在 macOS 上安装 zsh macOS 通常预装了 zsh,但建议升级到最新版本。你可以通过 Homebrew 来安装最新版: brew install zsh安装完成…...
VMware 安装 Ubuntu 实战分享
VMware 安装 Ubuntu 实战分享 VMware 是一款强大的虚拟机软件,广泛用于多操作系统环境的搭建。本文将详细介绍如何在 VMware 中安装 Ubuntu,并分享安装过程中的常见问题及解决方法。 1. 安装前的准备工作 (1) 系统要求 主机操作系统:Windo…...
【SpringCloud】Eureka的使用
3. Eureka 3.1 Eureka 介绍 Eureka主要分为两个部分: EurekaServer: 作为注册中心Server端,向微服务应用程序提供服务注册,发现,健康检查等能力。 EurekaClient: 服务提供者,服务启动时,会向 EurekaS…...
Redis:List 类型 内部实现、命令及应用场景
Redis 中的 List(列表)类型是一种有序的数据结构,它可以存储多个字符串元素,并且这些元素按照插入顺序排列。可以将它理解为一个双向链表,支持在链表的两端进行快速的插入和删除操作。它允许元素重复,并且可…...
Python 字符串正则表达式详解
Python 字符串正则表达式详解 一、正则表达式核心语法 元字符含义正确示例与说明常见错误修正.匹配任意字符(换行符除外)a.b → 匹配"acb"、“a1b”不匹配换行符(需用re.S模式)^匹配字符串开头^Hello → 匹配以"H…...
重试机制之指针退避策略算法
一、目的:随着重试次数增加,逐步延长重连等待时间,避免加重服务器负担。 二、计算公式: 每次重试的延迟时间 初始间隔 (退避基数 ^ 重试次数) 通常设置上限防止等待时间过长。 const delay Math.min(initialDelay * Math.pow…...
pyqt第一个窗口程序
文章目录 官方文档相手动创建窗口程序designer创建ui布局 官方文档相 https://doc.qt.io/qtforpython-6/ 手动创建窗口程序 import sys # 导入系统模块,用于获取命令行参数和系统功能 from PySide6.QtWidgets import QApplication, QLabel # 导入Qt组件&#x…...
【蓝桥杯】单片机设计与开发,PWM
一、PWM概述 用来输出特定的模拟电压。 二、PWM的输出 三、例程一:单片机P34引脚输出1kHZ的频率 void Timer0Init(void);unsigned char PWMtt 0;void main(void) {P20XA0;P00X00;P20X80;P00XFF;Timer0Init();EA1;ET01;ET11;while(1);}void Timer0Init(void) //1…...
CSS学习笔记5——渐变属性+盒子模型阶段案例
目录 通俗易懂的解释 渐变的类型 1、线性渐变 渐变过程 2、径向渐变 如何理解CSS的径向渐变,以及其渐变属性 通俗易懂的解释 渐变属性 1. 形状(Shape) 2. 大小(Size) 3. 颜色停靠点(Color Sto…...
频谱分析仪的最大保持功能
专门应用于例如遥控器之类的,按一下,一瞬间出现的信号的测量。 把仪器连接天线,观测空间中的一些信号,比如WIFI的信号,我们可以看到仪器接收到的信号其实是一直变化的,并不是每一次扫描都能扫到我们想要的这…...
权值线段树算法讲解及例题
算法思想 普通的线段树一般是求区间之和或区间最值,所以这些线段树的每个节点的下标是原数组中的区间范围,每个节点存的是区间和或最值,而权值线段树的每个节点的下标是数组中元素的值,而权值线段树每个节点存的是当前元素出现的…...
3.26刷题(矩阵模拟专题)
1.59. 螺旋矩阵 II - 力扣(LeetCode) //方法一:变换方向法 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> dirct {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};vector<vect…...
深入解析 JSON-RPC:从基础到高级应用(附调用示例)
在当今的软件开发领域,远程过程调用(RPC)技术是实现分布式系统间通信的关键手段之一。JSON-RPC,作为一种基于 JSON 数据格式的轻量级 RPC 协议,因其简洁性和高效性而备受青睐。本文将全面深入地探讨 JSON-RPC 的核心概…...
MAC环境给docker换源
2025-03-28 MAC环境给docker换源 在官网下载docker ,dmg 文件 参考: https://blog.csdn.net/qq_73162098/article/details/145014490 {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},&q…...
Ollama及HuggingFace路径环境变量设置
日常经常用到这俩的一些环境变量,特记录下来,如有错误,还请指正。 1. Ollama路径环境变量设置 Ollama 模型路径变量名为OLLAMA_MODELS,设置示例: 变量名示例OLLAMA_MODELS C:\Users\Administrator\.ollama\models D…...
Redis | 基于 Redis 实现机器列表 Token 缓存的 Java 实现
关注:CodingTechWork 引言 在分布式系统中,Token 缓存是一种常见的需求。它可以帮助我们快速验证用户身份,减少对数据库的频繁访问,提高系统的性能和响应速度。本文将介绍如何使用 Redis 来实现机器列表的 Token 缓存,…...
Linux\CentOS解决OpenSSH和Nginx安全漏洞
前言 由于有些服务器需要对公网提供服务、客户对于服务器安全比较重视,需要公司提供服务器安全报告。大多数服务器经过漏洞扫描之后、会出现很多软件低版本的漏洞,此时就需要升级软件的版本来解决这些漏洞问题。本篇文章记录升级软件过程。 漏洞编号漏…...
ubuntu22.04 ROS2humble 路径文件
ROS2humble 路径文件 /opt/ros/humble/include/opt/ros/humble/lib/opt/ros/humble/share 下载ros2之后会有下面的文件,在/opt/ros/humble下 /opt/ros/humble/include C/C 头文件(.h, .hpp) /opt/ros/humble/lib 作用: 存放 编译生成的二…...
zookeeper部署教程
在Linux系统中离线安装并配置ZooKeeper,可按以下步骤操作: 1. 准备安装包和依赖 下载ZooKeeper:在有网络的环境下,前往Apache ZooKeeper官网下载所需的稳定版本,例如zookeeper-3.8.2.tar.gz。准备JDK:Zoo…...
生成信息提取的大型语言模型综述
摘要 信息提取(IE)旨在从简单的自然语言文本中提取结构知识。最近,生成型大型语言模型(LLMs)在文本理解和生成方面表现出了显著的能力。因此,已经提出了许多基于生成范式将LLM集成到IE任务中的工作。为了对…...
霸王茶姬小程序(2025年1月版)任务脚本
脚本用于自动执行微信小程序霸王茶姬的日常签到和积分管理任务。 脚本概述 脚本设置了定时任务(cron),每天运行两次,主要用于自动签到以获取积分,积分可以用来换取优惠券。 核心方法 constructor:构造函数,用于初始化网络请求的配置,设置了基础的 HTTP 请求头等。 logi…...
Maven中为什么有些依赖不用引入版本号
先给出一个例子: <parent><artifactId>sky-take-out</artifactId><groupId>com.sky</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>sky-s…...
机器学习——集成学习框架(GBDT、XGBoost、LightGBM、CatBoost)、调参方法
一、集成学习框架 对训练样本较少的结构化数据领域,Boosting算法仍然是常用项 XGBoost、CatBoost和LightGBM都是以决策树为基础的集成学习框架 三个学习框架的发展是:XGBoost是在GBDT的基础上优化而来,CatBoost和LightGBM是在XGBoost的基础上…...
第十二章——位运算
按位的与& 若x的第i位和y的第i位都是1,那么(x&y)1,否则(x&y) 0 应用:希望让某一位或某些位为0 。取一个数中的一段。 按位的或| 若x的第i位1或y的第i位1,那么&…...
陪伴就诊 APP 功能架构:如何通过特定模块筛选优秀陪诊师
在当今社会,随着人们对医疗服务品质需求的提升,陪诊师这一职业应运而生。然而,市场上陪诊师众多,水平参差不齐,如何筛选出优秀的陪诊师成了大家关注的焦点。而陪伴就诊 APP 的等级功能,为我们提供了一个有效…...
UI产品经理基础(六):如何解决用户的质疑?
在需求调查中遇到用户质疑“不专业”或“不了解需求”,本质上是用户对产品经理的信任缺失或沟通鸿沟导致的。要化解这种质疑,需从专业能力展示、沟通方式优化、用户参与感提升三个维度切入,结合具体场景采取针对性策略。以下是系统化的解决方…...
【江协科技STM32】BKP备寄存器RTC实时时钟(学习笔记)
BKP备寄存器 BKP简介 BKP(Backup Registers)备份寄存器BKP可用于存储用户应用程序数据。当VDD(2.0~3.6V)电源被切断,他们仍然由VBAT(1.8~3.6V)维持供电。当系统在待机模式下被唤醒࿰…...
Flutter项目之table页面实现
目录: 1、首页页面index.dart(首页table页面)searchbar.dart (搜索页面)common_swiper.dart (轮播图)index_navigation.dart (导航区域)index_navigatorItem_list.dart (数组构造) 2、房屋推荐index_recommond.dart (房屋推荐区域)IndexRecom…...
Stable Virtual Camera 重新定义3D内容生成,解锁图像新维度;BatteryLife助力更精准预测电池寿命
在数字内容创作的激烈竞争中,Stability AI 正站在命运的十字路口。这家曾以 Stable Diffusion 引爆图像生成革命的公司,却因上层管理问题陷入了危机。近期,Stability AI 推出了 Stable Virtual Camera 模型,不知能否以一记重拳打破…...