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

1、数据结构概述及顺序表(附:可以直接打印显示的源码)

《数据结构》概述:

数据结构:数据元素之间的关系(逻辑关系)

数据类型:高地电平 表示 1/0

要做大量的运算:诞生了基本数据类型:int double .....--》反应了数据的取值范围

(int字节:占4B--->-2^31~~~(2^31)-1

1bit: 0~1

2bit: 0~(2^2)-1 个数:2^2

个数怎么算的 :00 01 10 11 四个

为什么要减一: 因为除二后0没有对称,先拿出一个数跟0对称,然后再要减一

32bit 表示多少个数:2^32

-2^31 ~~2^31-1)

要做什么系统之类的更复杂的东西:诞生了抽象数据类型:抽象

(人:信息(数据)+行为--->函数/方法--->数据+函数=抽象数据类型

使用抽象数据类型 定义一个数据结构--->数据集合+操作集合)

分析问题:逻辑结构--->逻辑上分析 事物之间的关系

解决问题:存储结构(物理结构/映像)--->在计算机中实现逻辑关系

存储结构就是用计算机语言实现的逻辑结构:密不可分


逻辑结构:线性逻辑结构:数据之间的关系是一对一的:线性表、栈、队列

非线性逻辑结构:数据之间的关系是一对多/多对多:树、图。。。

数据存储在存储器中

存储结构:1.顺序存储结构:逻辑上是连续的数据,存储时,在物理上也连续

2.链式存储结构:逻辑上是连续的数据,存储时,在物理上不连续,但是要实现逻辑上的连续:用指针把数据连起来,实现了逻辑上的连续

3.索引存储结构+4.散列存储结构(哈希)

数据结构:学一个一个的逻辑结构,选择合适的存储结构把它实现


线性逻辑结构:

线性表:n个数据元素的有限序列,按照线性结构排列

操作:增删改查

存储结构实现线性表:

顺序存储结构实现的线性表:

顺序表(在内存中画出以同一种数据类型存储的空间-->即数组):以一维数组的形式保存的线性表

操作:增删改查

1.增:在顺序表中添加一个元素

(1)在末尾添加一个元素

(2)在末尾元素之前的某个i位置指定添加元素

倒着循环 把i及i位置后面的数据 往后移动一个位置,把i位置空出来

//在顺序表末尾添加一个元素:在size下标位置添加一个元素
void add(Array * a,int k)
{//先判断是否超出最大容量值if(a->size < a->length){a->data[a->size]=k;a->size++;} else{printf("顺序表已满,不能放入数据\n");}
} //在下标i位置 插入一个数据k
void insert(Array *a,int i,int k) 
{//先判断是否超出最大容量值 先判满 if(a->size < a->length){//移动位置,把data[i]空出来 for(int j=a->size-1;j>=i;j--){a->data[j+1]=a->data[j];}a->data[i]=k;a->size++;} else{printf("顺序表已满,不能放入数据\n");}
}

2.查找:查找到给定数据的下标(位置),如果该数据不存在 返回-1

//查 : 一一比对  找到后直接把这个值返回 
int find(Array a,int k)
{for(int i=0;i<a.size;i++)//i只能小于a.size  因为size那个位置没数据(它是实际数据之后的位置) ,因为数组中有0,所以size多占了一个位置 {if(k==a.data[i]){return i;//如果没有找到,则不会返回任何值退出循环 }}return -1;//最后返回-1 
}

3.删除:删除给定的数据k

查找k的下标,往前调用 覆盖

void del(Array *a,int k)
{//返回删除元素的下标 利用查找函数 int i =find(a,k);//或者直接加(*a) 即int i = find((*a),k); if(i==-1){printf("被删除的数据不存在\n");}else{for(int j=i;j<a->size-1;j++)//j<a->size 或者j<a->size-1 不过没影响 正常是j<a->size-1  data[size+1]不会越界 因为size<length,但是数组满的时候会越界所以保险起见还是用j<a->size-1 {a->data[j]=a->data[j+1];}a->size--;}
}

4.改:把数据i-->k

找i的下标b,然后a->data[b]=k;

void change(Array *a,int i,int k)
{//找到数据为i的下标 int b =find(a,i);if(b==-1){printf("被修改的数据不存在\n");}else{a->data[b]=k;}}

顺序表的优缺点(说白了就是数组):

优点:(方便)随机访问 data[i] 可以根据下标直接访问

缺点:操作繁琐:插入和删除操作都需要移动大量的数据,不够灵活

应用场景:以随机访问为主的需求中---》需求很少

5.源码

#include<stdio.h>
#include<stdlib.h>
//实现一个存放int类型的顺序表 
//分析: 需要知道数据-->要一个数组 ,同时得知道这个数据的理论容量最大值跟实际值  三个方面来描述,放在一个里面-->声明结构体来实现
typedef struct ArrayList{
//	int data[105];//静态开数组int *data;//指针模拟开数组 int length;//声明理论容量的最大值int size;//声明实际个数 
}Array;//初始化顺序表 
Array initArray(int n)
{Array ar;ar.data=(int *)malloc(sizeof(int)*n);//开辟顺序表的空间 :分配成功-->data是一个实际的内存地址;分配不成功则会返回NULL(malloc的语法) if(ar.data==NULL){printf("空间分配失败");}//申请下来后就可以赋值了 ar.length=n;ar.size=0;//还没放元素,则实际值为0return ar;//返回到下面代码a的地方 }//在顺序表末尾添加一个元素:在size下标位置添加一个元素
void add(Array * a,int k)
{//先判断是否超出最大容量值if(a->size < a->length){a->data[a->size]=k;a->size++;} else{printf("顺序表已满,不能放入数据\n");}
} //在下标i位置 插入一个数据k
void insert(Array *a,int i,int k) 
{//先判断是否超出最大容量值 先判满 if(a->size < a->length){//移动位置,把data[i]空出来 for(int j=a->size-1;j>=i;j--){a->data[j+1]=a->data[j];}a->data[i]=k;a->size++;} else{printf("顺序表已满,不能放入数据\n");}
}//查 : 一一比对  找到后直接把这个值返回 
int find(Array *a,int k)
{for(int i=0;i<a->size;i++)//i只能小于a.size  因为size那个位置没数据(它是实际数据之后的位置) ,因为数组中有0,所以size多占了一个位置 {if(k==a->data[i]){return i;//如果没有找到,则不会返回任何值退出循环 }}return -1;//最后返回-1 
}void del(Array *a,int k)
{//返回删除元素的下标 利用查找函数 int i =find(a,k);//或者直接加(*a) 即int i = find((*a),k); if(i==-1){printf("被删除的数据不存在\n");}else{for(int j=i;j<a->size-1;j++)//j<a->size 或者j<a->size-1 不过没影响 正常是j<a->size-1  data[size+1]不会越界 因为size<length,但是数组满的时候会越界所以保险起见还是用j<a->size-1 {a->data[j]=a->data[j+1];}a->size--;}
}  void change(Array *a,int i,int k)
{//找到数据为i的下标 int b =find(a,i);if(b==-1){printf("被修改的数据不存在\n");}else{a->data[b]=k;}}void show(Array a)
{for(int i=0;i<a.size;i++){printf("%d ",a.data[i]);}printf("\n");
}int main()
{Array a;//顺序表 //初始化:int n; //假设理论容量的最大值 printf("请输入顺序表的理论最大容量:\n");scanf("%d",&n);a=initArray(n);//把n传入进去  写一个带返回值的函数 ,把线性表初始化好后再返回回来 //操作:增  利用add函数  因为增加后顺序表(函数)发生变化,则利用地址传参 add(&a,6);
//  a=add(a,6) 也可以这样写	add(&a,7);add(&a,8);add(&a,9);add(&a,1);add(&a,5);	show(a);	insert(&a,3,7);show(a);//查 //顺序表没有变,所以用值传递 printf("%d",find(&a,9));printf("\n");//删	del(&a,6);//顺序表发生变化  因为del函数中要调用查找函数 所以把查找函数中的值传递a变成&a地址传递方便之后调用不会报错//或者直接加(*a) show(a);
//改 change(&a,1,10);//把数据1改成10 show(a);return 0;
}

相关文章:

1、数据结构概述及顺序表(附:可以直接打印显示的源码)

《数据结构》概述&#xff1a; 数据结构&#xff1a;数据元素之间的关系&#xff08;逻辑关系&#xff09; 数据类型&#xff1a;高地电平 表示 1/0 要做大量的运算&#xff1a;诞生了基本数据类型&#xff1a;int double .....--》反应了数据的取值范围 &#xff08;int字…...

Redis

概述 Redis&#xff08;全称 REmote DIctionary Server&#xff09;是一个开源的内存数据存储系统&#xff0c;它被广泛应用于缓存、消息队列、实时数据存储等场景。Redis 是一个基于内存的数据结构存储&#xff0c;可以作为数据库、缓存和消息中间件使用 优点 高性能&#xf…...

Android 13 编译Android Studio版本的Launcher3

Android 13 Aosp源码 源码版本Android Studio版本Launcher3QuickStepLib (主要代码) Launcher3ResLib(主要资源)Launcher3IconLoaderLib(图...

【高等数学学习记录】微分中值定理

一、知识点 &#xff08;一&#xff09;罗尔定理 费马引理 设函数 f ( x ) f(x) f(x) 在点 x 0 x_0 x0​ 的某邻域 U ( x 0 ) U(x_0) U(x0​) 内有定义&#xff0c;并且在 x 0 x_0 x0​ 处可导&#xff0c;如果对任意的 x ∈ U ( x 0 ) x\in U(x_0) x∈U(x0​) &#xff0…...

百度 文心一言 vs 阿里 通义千问 哪个好?

背景介绍&#xff1a; 在当前的人工智能领域&#xff0c;随着大模型技术的快速发展&#xff0c;市场上涌现出了众多的大规模语言模型。然而&#xff0c;由于缺乏统一且权威的评估标准&#xff0c;很多关于这些模型能力的文章往往基于主观测试或自行设定的排行榜来评价模型性能…...

wordpress使用Markdown语法写的文章图片显示不正常,记录一次折腾之旅

wordpress使用Markdown语法写的文章图片显示不正常,记录一次折腾之旅 当我把wordpress站点地址改成域名之后,wordpress上写的文章是使用Markdown语法进行写作的,但是Markdown引用的图片就会加载不出来,但如果把站点地址改成局域网的IP,所有的一切都显示正常了。除非我把图…...

MTK 展锐 高通 sensorhub架构

一、MTK平台 MTK框架可以分为两部分&#xff0c;AP和SCP。 AP是主芯片&#xff0c;SCP是协处理器&#xff0c;他们一起工作来处理sensor数据。 SCP 是用来处理sensor和audio相关功能和其他客制化需求的一个协处理理器&#xff0c;MTK SCP选择freeRTOS作为操作系统&#xff0c…...

npm 最新国内淘宝镜像地址源 (旧版已不能用)

注意&#xff1a;原域名https://registry.npm.taobao.org/ 在 2022.06.30 号正式下线和停止 DNS 解析 最新地址&#xff1a; #最新地址 淘宝 NPM 镜像站喊你切换新域名啦! npm config set registry https://registry.npmmirror.com 查看镜像使用状态 npm config get registr…...

(超详细图文详情)Navicat 配置连接 Oracle

1、下载依赖文件 Oracle官网下载直链&#xff1a;https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html 夸克网盘下载&#xff08;oracle19c版本&#xff09;&#xff1a;https://pan.quark.cn/s/5061e690debc 官网下载选择对应 Oracle 版…...

iOS 系统中使用 webView 打印 html 的打印边距问题

需求是使用系统提供的打印功能将HTML代码打印出来 1、使用CSS page 设置边距&#xff08;iOS不生效&#xff09; page {margin: 0;padding: 0;size: A6 portrait; }在 Android 中边距设置生效的&#xff0c;但是在 iOS 系统使用CSS page规则是不生效的 当从 iOS 系统打印网页…...

深度学习Pytorch中的模型保存与加载方法

深度学习:Pytorch中的模型保存与加载方法 在 PyTorch 中&#xff0c;模型的保存和加载对于模型的持久化和后续应用至关重要。这里详细介绍了两种主要方法&#xff1a;保存整个模型&#xff08;包括架构和参数&#xff09;和仅保存模型的状态字典。以下内容进一步完善了加载模型…...

(vue)启动项目报错The project seems to require pnpm but it‘s not installed

(vue)启动项目报错The project seems to require pnpm but it’s not installed 原因 该错误信息表明你的项目需要使用 pnpm 作为包管理工具&#xff0c;但系统中尚未安装 pnpm。 解决方法 【1】删除pnpm.lock 【2】npm install -g pnpm 之后再重新启动 yarn报错&#xff0…...

【Leetcode 每日一题】3250. 单调数组对的数目 I

问题背景 给你一个长度为 n n n 的 正 整数数组 n u m s nums nums。 如果两个 非负 整数数组 ( a r r 1 , a r r 2 ) (arr_1, arr_2) (arr1​,arr2​) 满足以下条件&#xff0c;我们称它们是 单调 数组对&#xff1a; 两个数组的长度都是 n n n。 a r r 1 arr_1 arr1​ 是…...

C++语法·叭

阁下何不乘风起&#xff0c;扶摇直上九万里。 qi fei 目录 内存管理 分区介绍 1.栈区&#xff1a; 2.内存映射段&#xff1a; 3.堆&#xff1a; 4.数据段&#xff1a; 5.代码段&#xff1a; 补充&#xff1a; C内存管理&#xff08;简略回忆&#xff09; C内存…...

ComfyUI | ComfyUI桌面版发布,支持winmac多平台体验,汉化共享等技巧!(内附安装包)

ComfyUI 桌面版正式推出&#xff0c;支持 Windows 与 macOS 等多平台&#xff0c;为 AI 绘画爱好者带来全新体验。其安装包便捷易用&#xff0c;开启了轻松上手之旅。汉化共享功能更是一大亮点&#xff0c;打破语言障碍&#xff0c;促进知识交流与传播。在操作上&#xff0c;它…...

探索Python词云库WordCloud的奥秘

文章目录 探索Python词云库WordCloud的奥秘1. 背景介绍&#xff1a;为何选择WordCloud&#xff1f;2. WordCloud库简介3. 安装WordCloud库4. 简单函数使用方法5. 应用场景示例6. 常见Bug及解决方案7. 总结 探索Python词云库WordCloud的奥秘 1. 背景介绍&#xff1a;为何选择Wo…...

用PHP抓取HTTPS资源时的常见问题与解决方法

概述 随着互联网的发展&#xff0c;HTTPS已经成为主流协议&#xff0c;网站的数据安全性得到了显著提升。然而&#xff0c;对于开发者来说&#xff0c;HTTPS的广泛应用也增加了数据抓取的复杂性。尤其是在PHP中实现HTTPS资源的抓取时&#xff0c;开发者可能会遇到以下问题&…...

spring知识点复习--针对面试的

前言 此内容是笔者通过B站的视频总结而来。原视频链接地址&#xff1a;6、Bean Factory与FactoryBean有什么区别_哔哩哔哩_bilibili 1.谈谈springIOC的理解&#xff0c;原理与实现 回答涉及到的点&#xff1a; 控制反转&#xff1a;是一种理论思想&#xff0c;原来的对象是由…...

Web前端学习_CSS盒子模型

content padding border margin <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS盒子模型</title><style></style> </head> <body> <div class"demo&quo…...

ajax基础

一&#xff1a;express框架 在终端输入nodejs文件名 // 引入express const express require(express); //创建应用对象 const app express(); //创建路由规则 app.get(/,(request,response) > {//设置响应response.send(Hello Express); }); // 监听3000端口 app.lis…...

Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型

往期精彩内容&#xff1a; Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…...

强化学习导论 -章9 基于函数逼近的同轨策略预测

基于函数逼近的同轨策略预测 我们前面已经完成了基于表格的学习任务&#xff0c;基于表格的就是每个s是独立学习的&#xff0c;基本上不考虑泛化的能力&#xff0c;但是也对于每个任务状态学习的非常好。考虑到状态空间越来越大&#xff0c;我们必须考虑到函数逼近的情况。 1…...

Ubuntu环境中RocketMQ安装教程

参考教程 https://blog.csdn.net/weixin_56219549/article/details/126143231 1、安装JDK&#xff0c;并配置环境变量&#xff08;略&#xff09; 2、下载RocketMQ安装包 RocketMQ下载地址&#xff0c;选择二进制包下载 unzip rocketmq-all-5.0.0-ALPHA-bin-release.zip 使…...

Linux操作系统2-进程控制3(进程替换,exec相关函数和系统调用)

上篇文章&#xff1a;Linux操作系统2-进程控制2(进程等待&#xff0c;waitpid系统调用&#xff0c;阻塞与非阻塞等待)-CSDN博客 本篇代码Gitee仓库&#xff1a;Linux操作系统-进程的程序替换学习 d0f7bb4 橘子真甜/linux学习 - Gitee.com 本篇重点&#xff1a;进程替换 目录 …...

ThinkPHP Nginx 重写配置

目录 NGINX 重写 Admin项目隐藏入口文件&#xff0c;且禁用Admin模块&Admin.php 1️⃣配置仅用模块 2️⃣新增admin_xyz.php文件&#xff08;自定义入口文件名&#xff09;&#xff0c;并绑定admin模块 3️⃣配置nginx 重写规则 NGINX 重写 在Nginx低版本中&#xff0…...

SpringBoot小知识(2):日志

日志是开发项目中非常重要的一个环节&#xff0c;它是程序员在检查程序运行的手段之一。 1.日志的基础操作 1.1 日志的作用 编程期调试代码运营期记录信息&#xff1a; * 记录日常运营重要信息(峰值流量、平均响应时长……) * 记录应用报错信息(错误堆栈) * 记录运维过程数据(…...

深度学习:利用GPU进行训练

深度学习&#xff1a;利用GPU进行训练 在现代深度学习框架中&#xff0c;如PyTorch&#xff0c;利用GPU加速模型训练是一种常见的做法。GPU&#xff08;图形处理单元&#xff09;由于其并行处理能力&#xff0c;特别适合执行大量的矩阵运算&#xff0c;这在训练神经网络时尤为…...

PHP 生成分享海报

因为用户端有多个平台&#xff0c;如果做分享海报生成&#xff0c;需要三端都来做&#xff0c;工作量比较大。 所以这个艰巨的任务就光荣的交给后端了。经过一定时间的研究和调试&#xff0c;最终圆满完成了任务&#xff0c;生成分享海报图片实现笔记如下。 目录 准备字体文件…...

A050-基于spring boot物流管理系统设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…...

【docker】8. 镜像仓库实战

综合实战一&#xff1a;搭建一个 nginx 服务 Web 服务器 Web 服务器&#xff0c;一般是指“网站服务器”&#xff0c;是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户端提供文档&#xff0c;也可以放置网站文件&#xff0c;让全世界浏览&#xf…...

基于Springboot在线招投标系统【附源码】

基于Springboot在线招投标系统 效果如下&#xff1a; 系统主页面 系统登陆页面 招标人信息管理页面 招标信息管理页面 招标信息页面 评标信息页面 中标信息页面 研究背景 随着互联网技术的不断发展&#xff0c;传统的招投标方式已经无法满足现代企业的需求。传统的招投标流程…...

elasticsearch集群部署及加密通讯

原文地址&#xff1a;elasticsearch集群部署及加密通讯 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 第零步&#xff0c;准备 给各台设备配置虚拟主机名&#xff0c;这样集群不依赖IP&#xff0c;即使IP变动&#xff0c;改动也更方便。参考…...

yolov5的pt模型转化为rk3588的rknn,并在rk3588上调用api进行前向推理

当使用yolov5进行目标检测且进行边缘计算的场景时&#xff0c;要考虑性价比或者国产化的话&#xff0c;rk3588板子是个不错的选择。 本篇介绍yolov5的pytorch模型转化为rknn的流程&#xff0c;并展示在rk板子上如何调用相关api来使用转好的rknn模型进行前向推理。 pt转rknn流程…...

【机器学习】—PCA(主成分分析)

主成分分析&#xff08;PCA&#xff09;详解 引言 主成分分析&#xff08;PCA&#xff09;是一种统计方法&#xff0c;它可以通过正交变换将一组可能相关的变量转换为一组线性不相关的变量&#xff0c;这些变量称为主成分。PCA经常用于降维&#xff0c;数据压缩&#xff0c;以…...

【Linux】vim

&#x1f33b;个人主页&#xff1a;路飞雪吖~ &#x1f320;专栏&#xff1a;Linux 目录 一、Linux开发工具 &#x1f31f;vim的基本概念 二、Linux编译器-gcc/g使用 &#x1f31f;gcc如何完成&#xff08;ESc - iso&#xff09; 1、预处理&#xff08;进行宏替换&#xff…...

virtualbox给Ubuntu22创建共享文件夹

1.在windows上的操作&#xff0c;创建共享文件夹Share 2.Ubuntu22上的操作&#xff0c;创建共享文件夹LinuxShare 3.在virtualbox虚拟机设置里&#xff0c;设置共享文件夹 共享文件夹路径&#xff1a;选择Windows系统中你需要共享的文件夹 共享文件夹名称&#xff1a;挂载至wi…...

SQLModel与FastAPI结合:构建用户增删改查接口

SQLModel简介 SQLModel是一个现代化的Python库&#xff0c;旨在简化与数据库的交互。它结合了Pydantic和SQLAlchemy的优势&#xff0c;使得定义数据模型、进行数据验证和与数据库交互变得更加直观和高效。SQLModel由FastAPI的创始人Sebastin Ramrez开发&#xff0c;专为与FastA…...

数据库日志

MySQL中有哪些日志 1&#xff0c;redo log重做日志 redo log是物理机日志&#xff0c;因为它记录的是对数据页的物理修改&#xff0c;而不是SQL语句。 作用是确保事务的持久性&#xff0c;redo log日志记录事务执行后的状态&#xff0c;用来恢复未写入 data file的已提交事务…...

力扣第 71 题 简化路径

一、题目描述 给定一个字符串 path&#xff0c;表示一个由目录名和斜杠 "/" 组成的绝对路径&#xff0c;请简化该路径&#xff0c;使其变为规范路径。 在 Unix 风格的文件系统中&#xff1a; 一个点 "." 表示当前目录本身&#xff1b;两个点 "..&q…...

Android 性能优化:内存优化(理论篇)

内存作为App程序运行最重要的资源之一&#xff0c;需要运行过程中做到合理的资源分配与回收&#xff0c;不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏&#xff0c;重则导致用户应用程序发生 OOM&#xff08;out of memory&#xff09;崩溃。喜马直播随着近些年的业…...

Flink四大基石之窗口(Window)使用详解

目录 一、引言 二、为什么需要 Window 三、Window 的控制属性 窗口的长度&#xff08;大小&#xff09; 窗口的间隔 四、Flink 窗口应用代码结构 是否分组 Keyed Window --键控窗 Non-Keyed Window 核心操作流程 五、Window 的生命周期 分配阶段 触发计算 六、Wi…...

Easy Excel 通过【自定义批注拦截器】实现导出的【批注】功能

目录 Easy Excel 通过 【自定义批注拦截器】实现导出的【批注】功能需求原型&#xff1a;相关数据&#xff1a;要导出的对象字段postman 格式导出对象VO 自定义批注拦截器业务代码&#xff1a; 拦截器代码解释&#xff1a;详细解释&#xff1a;格式优化&#xff1a; Easy Excel…...

PHP 去掉特殊不可见字符 “\u200e“

描述 最近在排查网站业务时&#xff0c;发现有数据匹配失败的情况 肉眼上完全看不出问题所在 当把字符串 【M24308/23-14F‎】复制出来发现 末尾有个不可见的字符 使用删除键或左右移动时才会发现 最后测试通过 var_dump 打印 发现这个"空字符"占了三个长度 &#xf…...

Flume和kafka的整合:使用Flume将日志数据抽取到Kafka中

文章目录 1、Kafka作为Source【数据进入到kafka中&#xff0c;抽取出来】2、kafka作为Sink 【数据从别的地方抽取到kafka里面】 1、Kafka作为Source【数据进入到kafka中&#xff0c;抽取出来】 kafka源 --> memory --> 控制台&#xff1a; a1.sources r1 a1.sinks k1…...

Flutter:启动屏逻辑处理02:启动页

启动屏启动之后&#xff0c;制作一个启动页面 新建splash&#xff1a;view 视图中只有一张图片sliding.png就是我们的启动图 import package:flutter/material.dart; import package:get/get.dart; import index.dart; class SplashPage extends GetView<SplashController…...

【MySQL】自动刷新flush privileges命令

在 MySQL 中&#xff0c;执行 FLUSH PRIVILEGES 命令的主要作用是使权限表中的更改立即生效。下面是关于这个命令的一些关键点&#xff1a; 1. 什么是 FLUSH PRIVILEGES 当你使用 SET PASSWORD 或其他 SQL 语句直接修改了用户的密码或权限&#xff08;例如&#xff0c;使用 U…...

2024免费天气接口(无废话版)

免费接口1&#xff1a;http://t.weather.sojson.com/api/weather/city/101030100 免费接口2&#xff1a;http://t.weather.itboy.net/api/weather/city/101030100 至于后面那个城市编码 请自行查询&#xff1a;如图 注意&#xff01;&#xff01;&#xff01; 点击下载时 可能…...

fpga 时序分析基础

目录 触发器的动态参数 同步时序电路分析 1. 时钟脉冲的特性 2. 同步时序电路分析 Timing Analyzer的应用 异步时序与亚稳态问题 时序分析就是对时序电路进行时序检查&#xff0c;通过分析电路中所有寄存器之间的路径延迟以检查电路的传输延迟是否会导致触发器的建立时间…...

Laravel8.5+微信小程序实现京东商城秒杀方案

一、商品秒杀涉及的知识点 鉴权策略封装掊口访问频次限制小程序设计页面防抖接口调用订单创建事务使用超卖防御 二、订单库存系统方案&#xff08;3种&#xff09; 下单减库存 优点是库存和订单的强一致性&#xff0c;商品不会卖超&#xff0c;但是可能导致恶意下单&#xff…...

Git——本地仓库链接并推送到多个远程仓库

步骤 1. 新建仓库init 或 删除已有仓库远程链接 // 1.新建init git init// 2.已有仓库&#xff0c;查看链接的远程仓库 git remote -v// 3.已有远程连接仓库&#xff0c;需要删除连接 git remote rm origin(或对应远程仓库名) 2.新建远程仓库 在gitee、github等托管平台创建…...