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

C语言_数据结构总结5:顺序栈

纯C语言代码,不涉及C++

想了解链式栈的实现,欢迎查看这篇文章:C语言_数据结构总结6:链式栈-CSDN博客

这里分享插入一下个人觉得很有用的习惯:

1. 就是遇到代码哪里不理解的,你就问豆包,C知道,Kimi等等AI工具,比如在这栈中你不能理解为什么有时候要传一级指针有时候又不用,你就询问AI“在进栈操作中是否可以不传入指针变量,而是直接传入结构体变量”;

2. 还有就是自己的代码报错了,又或是自己觉得自己的代码存在某种问题,而自己又不能解决时,你就直接复制自己的代码问AI,让AI对以下代码进行点评,并返回改善后的代码。

前言

:是只允许在一端进行插入或删除操作的线性表。
栈顶:允许进行插入或删除的那一端
栈底:固定的,不允许进行插入或删除的那一端
栈的特性后进先出
存储方式:1. 顺序存储(顺序栈)  2. 链式存储(链式栈)

       在顺序栈的基本操作中,决定是传入一级指针还是只传入栈的变量,主要取决于操作是否需要修改栈的内部状态
    1. 需要传入一级指针的情况
    当操作需要修改栈的内部状态,比如改变栈顶指针 top 的值或者修改栈中存储的数据时,就需要传入一级指针。
    这是因为在 C 语言里,函数参数传递是值传递,若直接传入栈的变量,函数内部对该变量的修改不会影响到原变量。
    而通过传入指针,函数可以直接访问和修改原变量所指向的内存。

    2. 只需要传入栈的变量的情况
    当操作不需要修改栈的内部状态,仅仅是读取栈的信息时,就可以只传入栈的变量。

以下是顺序栈实现
它利用一组地址连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针top指示当前的栈顶元素的位置

0. 结构单元

#define MaxSize 50
typedef int ElemType;
typedef struct SqStack {
    ElemType data[MaxSize];  //存放栈中元素
    int top;  //栈顶指针
}SqStack;

!注意  :栈顶指针top,它不是实际意义上的指针变量,进行存放指针变量。这里说它是指针,意思是说,它指示了当前栈顶元素的位置,在第pos个位置。

1. 初始化

void InitSeqStack(SqStack* s) {s->top = -1;  //初始化栈顶的位置
}

这里设置初始栈顶指针s.top = -1,
栈空条件是s.top = -1;栈满条件是s.top = MaxSize - 1
则进栈时指针s.top+1,再将元素加入栈顶;出栈时先取出栈顶元素,后指针s.top - 1

但如果设置初始栈顶指针s.top = 0,
栈空条件是s.top = 0;栈满条件是s.top = MaxSize
则进栈时将元素加入栈顶,再指针s.top+1;出栈时先指针s.top - 1,后取出栈顶元素

2. 判空

int SqStackEmpty(SqStack s) {return s.top == -1;
}

3. 判满

int SqStackFull(SqStack s) {return s.top == MaxSize - 1;
}

4. 入栈

即:将元素加入到栈顶

int push(SqStack* s, ElemType value) {// 1. 判满if (SqStackFull(*s)){printf("栈满,无法入栈!\n");return -2;}// 2. 指针top + 1,再将值加入到栈顶s->top++;s->data[s->top] = value;return 0;  //入栈成功
}

5. 出栈

int pop(SqStack* s, ElemType* value) {//1. 判空if (SqStackEmpty(*s)){printf("栈空,无法有元素出栈!\n");return -1;}//2. 先取出栈顶元素,再指针top - 1*value = s->data[s->top];s->top--;return 0;  //出栈成功
}

6. 获取栈顶元素

int getTop(SqStack s,ElemType *value) {//1. 判空if (SqStackEmpty(s)){printf("栈空,无法有元素出栈!\n");return -1;}//2. 获取栈顶元素*value = s.data[s.top];return 0;  
}

7. 打印栈中元素

void printSqStack(SqStack s) {if (SqStackEmpty(s)){printf("栈空!\n");return;  //提前结束该函数}printf("栈中的元素(从栈底到栈顶)为: ");for (int i = 0; i <= s.top; i++) {printf("%d ", s.data[i]);}printf("\n");
}

8. 销毁

void destroySqStack(SqStack* s) {// 由于顺序栈使用的是静态数组,不需要显式释放内存// 只需要将栈顶指针置为 -1 表示栈为空s->top = -1;
}

9. 测试

int main() {SqStack s;InitSeqStack(&s);// 测试入栈操作push(&s, 11);push(&s, 22);push(&s, 33);printSqStack(s);  // 栈中的元素(从栈底到栈顶)为: 11 22 33// 获取栈顶元素ElemType value;if (getTop(s,&value) == 0){printf("当前栈顶元素为:%d\n", value); // 当前栈顶元素为:33}//测试出栈操作if (pop(&s,&value) == 0){printf("出栈的元素为:%d\n", value);  // 出栈的元素为:33}printSqStack(s);  // 栈中的元素(从栈底到栈顶)为: 11 22//销毁栈destroySqStack(&s);printSqStack(s);  // 栈空!return 0;
}

10. 完整代码

#include<stdio.h>
#include<stdlib.h>
/*栈:是只允许在一端进行插入或删除操作的线性表。栈顶:允许进行插入或删除的那一端栈底:固定的,不允许进行插入或删除的那一端栈的特性:后进先出存储方式:1. 顺序存储(顺序栈)  2. 链式存储(链式栈)
*//*在顺序栈的基本操作中,决定是传入一级指针还是只传入栈的变量,主要取决于操作是否需要修改栈的内部状态。1. 需要传入一级指针的情况当操作需要修改栈的内部状态,比如改变栈顶指针 top 的值或者修改栈中存储的数据时,就需要传入一级指针。这是因为在 C 语言里,函数参数传递是值传递,若直接传入栈的变量,函数内部对该变量的修改不会影响到原变量。而通过传入指针,函数可以直接访问和修改原变量所指向的内存。2. 只需要传入栈的变量的情况当操作不需要修改栈的内部状态,仅仅是读取栈的信息时,就可以只传入栈的变量。*//*以下是顺序栈实现它利用一组地址连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针top指示当前的栈顶元素的位置
*/#define MaxSize 50
typedef int ElemType;
typedef struct SqStack {ElemType data[MaxSize];  //存放栈中元素int top;  //栈顶指针(注意,它不是实际意义上的指针变量,进行存放指针变量。这里说它是指针,意思是说,它指示了当前栈顶元素的位置,在第pos个位置。
}SqStack;// 操作1——初始化
void InitSeqStack(SqStack* s) {s->top = -1;  //初始化栈顶的位置
}/*这里设置初始栈顶指针s.top = -1,栈空条件是s.top = -1;栈满条件是s.top = MaxSize - 1则进栈时指针s.top+1,再将元素加入栈顶;出栈时先取出栈顶元素,后指针s.top - 1但如果设置初始栈顶指针s.top = 0,栈空条件是s.top = 0;栈满条件是s.top = MaxSize则进栈时将元素加入栈顶,再指针s.top+1;出栈时先指针s.top - 1,后取出栈顶元素	
*/// 操作2——判空
int SqStackEmpty(SqStack s) {return s.top == -1;
}// 操作3——判满
int SqStackFull(SqStack s) {return s.top == MaxSize - 1;
}// 操作4——入栈,将元素加到栈顶
int push(SqStack* s, ElemType value) {// 1. 判满if (SqStackFull(*s)){printf("栈满,无法入栈!\n");return -2;}// 2. 指针top + 1,再将值加入到栈顶s->top++;s->data[s->top] = value;return 0;  //入栈成功
}// 操作5——出栈
int pop(SqStack* s, ElemType* value) {//1. 判空if (SqStackEmpty(*s)){printf("栈空,无法有元素出栈!\n");return -1;}//2. 先取出栈顶元素,再指针top - 1*value = s->data[s->top];s->top--;return 0;  //出栈成功
}// 操作6——获取栈顶元素
int getTop(SqStack s,ElemType *value) {//1. 判空if (SqStackEmpty(s)){printf("栈空,无法有元素出栈!\n");return -1;}//2. 获取栈顶元素*value = s.data[s.top];return 0;  
}// 操作7——打印栈中元素
void printSqStack(SqStack s) {if (SqStackEmpty(s)){printf("栈空!\n");return;  //提前结束该函数}printf("栈中的元素(从栈底到栈顶)为: ");for (int i = 0; i <= s.top; i++) {printf("%d ", s.data[i]);}printf("\n");
}// 操作8——销毁栈
void destroySqStack(SqStack* s) {// 由于顺序栈使用的是静态数组,不需要显式释放内存// 只需要将栈顶指针置为 -1 表示栈为空s->top = -1;
}int main() {SqStack s;InitSeqStack(&s);// 测试入栈操作push(&s, 11);push(&s, 22);push(&s, 33);printSqStack(s);  // 栈中的元素(从栈底到栈顶)为: 11 22 33// 获取栈顶元素ElemType value;if (getTop(s,&value) == 0){printf("当前栈顶元素为:%d\n", value); // 当前栈顶元素为:33}//测试出栈操作if (pop(&s,&value) == 0){printf("出栈的元素为:%d\n", value);  // 出栈的元素为:33}printSqStack(s);  // 栈中的元素(从栈底到栈顶)为: 11 22//销毁栈destroySqStack(&s);printSqStack(s);  // 栈空!return 0;
}

11. 运行截图

本人菜鸟一只,文章如有出错处,欢迎评论区指正!

相关文章:

C语言_数据结构总结5:顺序栈

纯C语言代码&#xff0c;不涉及C 想了解链式栈的实现&#xff0c;欢迎查看这篇文章&#xff1a;C语言_数据结构总结6&#xff1a;链式栈-CSDN博客 这里分享插入一下个人觉得很有用的习惯&#xff1a; 1. 就是遇到代码哪里不理解的&#xff0c;你就问豆包&#xff0c;C知道&a…...

c++ 游戏入门指南

在C++游戏开发中,你需要结合高性能编程、图形学、数学和游戏设计等多方面的知识。以下是C++游戏开发的核心步骤、工具和资源整理,帮助你从入门到进阶: 1. 开发环境搭建 编译器:MSVC(Visual Studio)、GCC、Clang。IDE:Visual Studio(Windows)、JetBrains CLion(跨平台…...

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。

1、在 vscode 终端执行 get-ExecutionPolicy 返回 Restricted 状态是禁止的 返回 RemoteSigned 状态是可正常执行npm命令 2、更改状态 set-ExecutionPolicy RemoteSigned 如果提示需要管理员权限&#xff0c;可加参数运行 Set-ExecutionPolicy -Scope CurrentUser RemoteSi…...

STM32项目分享:智能家居语音系统(ASRPRO版)

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; STM32智能家居语音系统&#xff08;ASRPRO版&am…...

vue2实现组件库的自动按需引入,unplugin-auto-import,unplugin-vue-components

1.使用ant-design-vue或者element-ui时&#xff0c;如何每个组件都去import导入组件&#xff0c;大大降低了开发效率&#xff0c;如果全局一次性注册会增加项目体积&#xff0c;那么如何实现既不局部引入&#xff0c;也不全局注册&#xff1f; 2.在element-plus官网看到有说明…...

前端安全面试题汇总及参考答案

目录 简述 XSS 攻击的原理及三种常见类型(存储型、反射型、DOM 型) 如何在前端防御 XSS 攻击?列举编码、过滤、CSP 策略的具体实现方式 富文本编辑器场景下如何安全处理用户输入的 HTML 内容? 如何通过 HttpOnly 属性增强 Cookie 安全性?它与 XSS 防御的关系是什么? …...

《打造视频同步字幕播放网页:从0到1的技术指南》

《打造视频同步字幕播放网页&#xff1a;从0到1的技术指南》 为什么要制作视频同步字幕播放网页 在数字化信息飞速传播的当下&#xff0c;视频已然成为内容输出与获取的核心载体&#xff0c;其在教育、娱乐、宣传推广等诸多领域发挥着举足轻重的作用 。制作一个视频同步字幕播…...

Redis 篇

一、数据结构 二、持久化方式 Redis 提供了两种主要的持久化方式&#xff0c;分别是 RDB&#xff08;Redis Database&#xff09;和 AOF&#xff08;Append Only File&#xff09;&#xff0c;此外&#xff0c;还可以同时使用这两种方式以增强数据安全性&#xff0c;以下为你…...

STM32常见外设的驱动示例和代码解析

以下是针对STM32常见外设的驱动示例和代码解析,基于HAL库实现,适用于大多数STM32系列(如F1/F4/H7等),可根据具体型号调整引脚和时钟配置。 1. GPIO驱动 应用场景:控制LED、按键检测、继电器开关等。 示例代码: // 初始化LED(推挽输出) void LED_Init(void) {GPIO_In…...

docker-compose Install reranker(fastgpt支持) GPU模式

前言BGE-重新排名器 与 embedding 模型不同,reranker 或 cross-encoder 使用 question 和 document 作为输入,直接输出相似性而不是 embedding。 为了平衡准确性和时间成本,cross-encoder 被广泛用于对其他简单模型检索到的前 k 个文档进行重新排序。 例如,使用 bge 嵌入模…...

【计算机网络入门】应用层

目录 1.网络应用模型 1.1 C/S模型&#xff08;客户端服务器模型&#xff09; 1.2 P2P模型&#xff08;对等模型&#xff09; 2. DNS系统 2.1 域名 2.2 域名解析流程 3. FTP文件传输协议 4. 电子邮件系统 4.1 SMTP协议 4.2 pop3协议 4.3 IMAP协议 4.4 基于万维网的电…...

/***************************所有笔记汇总目录***************************/

文章分类目录 STM32CubeMX 01、STM32CubeMX——定时器&#xff08;普通模式和PWM模式&#xff09; 02、STM32CubeMX——串口&#xff08;HAL库&#xff09; 03、STM32CubeMX——(uart_IAP串口)简单示例 04、STM32CubeMX——ADC采集单通道&#xff0c;多通道&#xff0c;内部…...

mysql虚拟列

目录 1. 关于虚拟列 2. 虚拟列分类 3. 虚拟列使用 3.1 创建虚拟列 3.2 为虚拟列添加索引 3.3 验证虚拟列索引是否生效 3.4 删除虚拟列 1. 关于虚拟列 MySQL 5.7 版本引入了虚拟列&#xff08;也称为生成列&#xff09;的功能&#xff0c;这是一种在物理表上定义的虚拟列…...

【瞎折腾/ragflow】构建docker镜像并部署使用ragflow

说在前面 操作系统&#xff1a;win11docker desktop版本&#xff1a;4.29.0docker engin版本&#xff1a;v26.0.0ragflow版本&#xff1a;nightly 安装docker 官网 如果是win11&#xff0c;backend建议使用wsl2 安装好后打开docker desktop&#xff0c;不然docker命令用不了 …...

Django模型数据修改:详解两种方式

Django模型数据修改&#xff1a;详解两种方式 在Django框架中&#xff0c;数据模型&#xff08;Model&#xff09;定义了应用的数据结构&#xff0c;并提供了与数据库交互的接口。数据的修改是Django开发中的常见操作之一。本文将详细介绍两种在Django中修改数据的方式&#x…...

Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南

Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南 在 Java 项目开发中&#xff0c;使用 Lombok 可以极大地减少样板代码&#xff08;如 getter/setter 方法、构造器等&#xff09;&#xff0c;提高开发效率。然而&#xff0c;当使用 Gradle 构建工具并将项目发布到私…...

docker 常用命令教程

文章目录 docker常用命令教程1. 镜像拉取镜像删除镜像查看镜像列表 2. 容器运行容器启动容器停止容器查看容器设置容器开机自启向容器输入命令 3. 镜像传输提交容器为镜像镜像解压缩登录命令推送远程仓库(需先在主机上登录账号) docker常用命令教程 1. 镜像 拉取镜像 docker…...

机器学习编译

一、机器学习概述 1.1 什么是机器学习编译 将机器学习算法从开发形态通过变换和优化算法使其变成部署形态。即将训练好的机器学习模型应用落地&#xff0c;部署在特定的系统环境之中的过程。 开发形态&#xff1a;开发机器学习模型时使用的形态。Pytorch,TensorFlow等通用框…...

mysql中什么机制保证宕机数据恢复

MySQL 通过多种机制来保证在宕机或意外崩溃时数据的完整性和可恢复性。这些机制主要包括 事务日志、崩溃恢复 和 数据持久化 等。以下是 MySQL 中保证数据恢复的核心机制: 1. 事务日志(Transaction Log) 事务日志是 MySQL 实现数据恢复的核心机制之一,主要包括 Redo Log(…...

使用 display: flex 实现动态布局:每行两个 item,单数时最后一个占满整行

文章目录 使用 display: flex 实现动态布局&#xff1a;每行两个 item&#xff0c;单数时最后一个占满整行 &#x1f3af;一、需求分析二、实现思路三、代码实现1. HTML 结构2. CSS 样式关键点解析&#xff1a; 四、效果演示HTML 示例&#xff1a;效果&#xff1a; 五、完整代码…...

android 支持自定义布局、线程安全、避免内存泄漏的 Toast 工具类

支持自定义布局&#xff1a;可以灵活地显示自定义样式的 Toast。 线程安全&#xff1a;确保在主线程中显示 Toast&#xff0c;避免崩溃。 避免内存泄漏&#xff1a;使用 ApplicationContext 和取消机制&#xff0c;防止内存泄漏问题。 工具类&#xff1a;作为一个通用的工具…...

密码学系列 - 利用CPU指令加速

CPU擅长的操作: AES 指令, SHA 指令为了充分利用流水线带来的好处&#xff0c;出现了一种叫做RISC的CPU架构。RISC是Reduced Instruction Set Computer&#xff08;精简指令集&#xff09;的缩写 SHA加速 Filecoin系列 - 源码分析 - CPU SHA扩展 当前的构造在某些阶段确实涉…...

什么是美颜SDK?从几何变换到深度学习驱动的美颜算法详解

美颜SDK是一种用于处理图像与视频的开发工具&#xff0c;能够提供磨皮、美白、瘦脸、五官优化、动态贴纸等美颜特效。它广泛应用于直播、短视频、社交、在线会议、电商等行业&#xff0c;帮助用户在视频或图片中实现更好的视觉呈现。 一、从几何变换到深度学习&#xff1a;美颜…...

用Deepseek写一个五子棋微信小程序

在当今快节奏的生活中&#xff0c;休闲小游戏成为了许多人放松心情的好选择。五子棋作为一款经典的策略游戏&#xff0c;不仅规则简单&#xff0c;还能锻炼思维。最近&#xff0c;我借助 DeepSeek 的帮助&#xff0c;开发了一款五子棋微信小程序。在这篇文章中&#xff0c;我将…...

FPGA 实验报告:四位全加器与三八译码器仿真实现

目录 安装Quartus软件 四位全加器 全加器、半加器 半加器&#xff1a; 全加器&#xff1a; 四位全加器电路图 创建项目 半加器 全加器 四位全加器 代码实现 半加器 全加器 四位全加器 三八译码器 创建项目 代码展示 modelsim仿真波形图 四位全加器 三八译码…...

Vercel Serverless

1. 引言 现代应用程序是为适应当前技术环境需求而设计的软件&#xff0c;采用现代开发工具和实践&#xff0c;针对云部署和可扩展性优化。它们由多个模块化小组件组成&#xff0c;便于集成和缩放&#xff0c;具有高度的敏捷性和适应性&#xff0c;能快速响应用户或业务需求变化…...

胜软科技冲刺北交所一年多转港股:由盈转亏,毛利率大幅下滑

《港湾商业观察》施子夫 近期&#xff0c;山东胜软科技股份有限公司&#xff08;以下简称&#xff0c;胜软科技&#xff09;递表港交所获受理&#xff0c;独家保荐机构为广发证券&#xff08;香港&#xff09;。 在赴港上市之前&#xff0c;胜软科技还曾谋求过A股上市&#x…...

JJJ:linux sysfs相关

文章目录 1.sysfs&#xff08;属性&#xff09;文件的创建、读、写1.1 创建流程1.2 open流程1.3 read流程 2.补充2.1 sysfs下常见目录介绍2.2 属性相关2.2.1 简介2.2.2 attribute文件的创建 2.3 sysfs目录如何创建的 1.sysfs&#xff08;属性&#xff09;文件的创建、读、写 1…...

vue3 遇到babel问题(exports is not defined) 解决方案

由于我在引用ant-design-vue插件&#xff0c;于是产生了下图的问题。 1.问题分析 Babel 是一个 JavaScript 编译器&#xff0c;主要用于&#xff1a;将 ES6 代码转译为 ES5 代码&#xff0c;以兼容旧版浏览器。处理模块化语法&#xff08;如 import/export&#xff09;。 2.解…...

《原型链的故事:JavaScript 对象模型的秘密》

原型链&#xff08;Prototype Chain&#xff09; 是 JavaScript 中实现继承的核心机制。每个对象都有一个内部属性 [[Prototype]]&#xff08;可以通过 __proto__ 访问&#xff09;&#xff0c;指向其原型对象。每个对象都有一个原型&#xff0c; 原型本身也是一个对象&#xf…...

Python怎样安装,Windows/Mac/Linux系统安装教程

Python的安装步骤如下&#xff0c;结合不同操作系统和关键注意事项进行说明&#xff1a; 一、Windows系统安装 下载安装包 访问Python官网&#xff0c;点击“Downloads”选择适合的版本&#xff08;推荐稳定版&#xff0c;如3.9或3.10&#xff0c;避免最新版可能的不兼容问题&a…...

03.08

1. 数字三角形 题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那…...

LeetCode 解题思路 11(Hot 100)

解题思路&#xff1a; 若相等&#xff1a; 直接返回 true。若当前元素大于目标值&#xff1a; 由于列递增&#xff0c;当前列下方所有元素均大于目标值&#xff0c;故排除该列&#xff08;向左移动&#xff09;。若当前元素小于目标值&#xff1a; 由于行递增&#xff0c;当前…...

使用websocket,注入依赖service的bean为null

问题&#xff1a;依赖注入失败&#xff0c;service获取不到&#xff0c;提示null 这是参考代码 package com.shier.ws;import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.google.gson.Gson; import com.s…...

【数据结构初阶】---堆的实现、堆排序以及文件中的TopK问题

1.树的概念及结构 1.1树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&…...

【量化策略】均值回归策略

【量化策略】均值回归策略 &#x1f680;量化软件开通 &#x1f680;量化实战教程 技术背景和应用场景 均值回归策略是一种基于统计学原理的量化交易策略&#xff0c;它假设资产价格会围绕其历史平均水平波动。当价格偏离这个平均水平时&#xff0c;就有可能会回到平均值附…...

设计模式 - 工厂模式 精准梳理精准记忆

1、代码片段 - 带入理解 一、核心模式分类 简单工厂模式&#xff08;编程习惯&#xff0c;非 GoF 设计模式&#xff09;工厂方法模式&#xff08;GoF 创建型模式&#xff09;抽象工厂模式&#xff08;GoF 创建型模式&#xff09; 二、演变过程&#xff1a;咖啡店案例 初始实现…...

WIFI ESP8266以及基础功能介绍

芯片一旦烧写了程序就不可以使用AT指令集&#xff0c;需要重新刷回AT指令库才可以使用 wifi的通信频段是2.4G免费频段。 AT指令 AT&#xff08;attention&#xff09;command set.AT指令集或命令集&#xff0c;一般称为AT指令 海斯命令集&#xff1a;Hayes command set 默认…...

面试java做了一道逻辑题,人麻了

题目&#xff1a;给你一个5升水壶&#xff0c;一个6升水壶&#xff0c;去池塘中取水&#xff0c;如何保证最后取出的水是3升&#xff1f; 思考了很久终于想出来了&#xff0c;这里用X5代表5升的桶&#xff0c;X6代表6升的桶&#xff1a; ① 6升桶装满&#xff0c;X50&#xff…...

go语言因为前端跨域导致无法访问到后端解决方案

前端服务8080访问后端8081这端口显示跨域了 ERROR Network Error AxiosError: Network Error at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:116:14) at Axios.request (webpack-internal:///./node_modules/axios/lib/core/A…...

svn删除所有隐藏.svn文件,文件夹脱离svn控制

新建一个文件&#xff0c;取名remove-svn-folders.reg&#xff0c;输入如下内容&#xff1a; Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] "Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Class…...

Greenplum6.19集群搭建

一&#xff0c;安装说明 1.1环境说明 1、首先确定部署的环境&#xff0c;确定下服务器的端口&#xff0c;一般默认是22的端口&#xff1b; 2、当前这份文档是服务器处于10022端口下部署的&#xff08;现场生产环境要求&#xff0c;22端口在生产环境存在安全隐患&#xff09;&…...

C/C++蓝桥杯算法真题打卡(Day4)

一、P11041 [蓝桥杯 2024 省 Java B] 报数游戏 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;// 计算第 n 个满足条件的数 long long findNthNumber(long long n) {long long low 1, high 1e18; // 二分查找范围while (low < high) {lo…...

TinyWebServer项目笔记——01 线程同步机制封装类

目录 1.基础知识 &#xff08;1&#xff09;RALL &#xff08;2&#xff09;信号量 &#xff08;3&#xff09;互斥量 &#xff08;4&#xff09;条件变量 2.功能 1.基础知识 &#xff08;1&#xff09;RALL RALL全称“Resource Acquisition is Initialization”&#xf…...

如何在Ubuntu上直接编译Apache Doris

以下是在 Ubuntu 22.04 上直接编译 Apache Doris 的完整流程&#xff0c;综合多个版本和环境的最佳实践&#xff1a; 注意&#xff1a;Ubuntu的数据盘VMware默认是20G&#xff0c;编译不够用&#xff0c;给到50G以上吧 一、环境准备 1. 安装系统依赖 # 基础构建工具链 apt i…...

算法006——和为S 的两个数

力扣——查找总价格为目标值的两个商品点击跳转 注意题目中的关键信息升序 我们利用双指针&#xff0c;不管 target 是多少&#xff0c;让一个指针指向最小值&#xff0c;让一个指针指向最大 那么&#xff0c;共有三种情况 我们首先遇到的是第二种情况 sum < target left …...

物联网设备接入系统后如何查看硬件实时数据?

要在软件中实时查看硬件设备的信息&#xff0c;通常需要结合前后端技术来实现。以下是设计思路和实现步骤&#xff1a; 1. 系统架构设计 实时查看硬件设备信息的系统通常采用以下架构&#xff1a; 数据采集层: 硬件设备通过传感器采集数据&#xff0c;发送到InfluxDB。数据存…...

CSS—属性继承与预处理器:2分钟掌握预处理器

个人博客&#xff1a;haichenyi.com。感谢关注 1. 目录 1–目录2–属性继承3–预处理器 2. 属性继承 像Android里面继承extends&#xff0c;类继承&#xff0c;子类可以使用父类的public和protected的属性和方法。子类可以直接用。   在CSS里面也是类似的。CSS里面是布局里面…...

前端知识点---http.createHttp()的理解(arkts)

通俗易懂的例子&#xff1a;点外卖 &#x1f354;&#x1f964; 想象一下&#xff0c;你在家里点外卖&#xff0c;HTTP 请求就像是你和餐厅之间的沟通方式。 1️⃣ 没有 http.createHttp()&#xff1a;每次点餐都重新拨电话 &#x1f4de; 如果你每次点餐都重新拨打餐厅的电话…...

信息安全访问控制、抗攻击技术、安全体系和评估(高软42)

系列文章目录 信息安全访问控制、抗攻击技术、安全体系和评估 文章目录 系列文章目录前言一、信息安全技术1.访问控制2.抗攻击技术 二、欺骗技术1.ARP欺骗2.DNS欺骗3.IP欺骗 三、抗攻击技术1.端口扫描2.强化TCP/IP堆栈 四、保证体系和评估1.保证体系2.安全风险管理 五、真题在…...