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

C 语言实现的优先级队列

C 语言实现的优先级队列

priorityqueue.h

/*******************************************************************************
* Copyright © 2024-2025 Light Zhang <mapaware@hotmail.com>, MapAware, Inc.     *
* ALL RIGHTS RESERVED.                                                         *
*                                                                              *
* PERMISSION IS HEREBY GRANTED, FREE OF CHARGE, TO ANY PERSON OR ORGANIZATION  *
* OBTAINING A COPY OF THE SOFTWARE COVERED BY THIS LICENSE TO USE, REPRODUCE,  *
* DISPLAY, DISTRIBUTE, EXECUTE, AND TRANSMIT THE SOFTWARE, AND TO PREPARE      *
* DERIVATIVE WORKS OF THE SOFTWARE, AND TO PERMIT THIRD - PARTIES TO WHOM THE  *
* SOFTWARE IS FURNISHED TO DO SO, ALL SUBJECT TO THE FOLLOWING :               *
*                                                                              *
* THE COPYRIGHT NOTICES IN THE SOFTWARE AND THIS ENTIRE STATEMENT, INCLUDING   *
* THE ABOVE LICENSE GRANT, THIS RESTRICTION AND THE FOLLOWING DISCLAIMER, MUST *
* BE INCLUDED IN ALL COPIES OF THE SOFTWARE, IN WHOLE OR IN PART, AND ALL      *
* DERIVATIVE WORKS OF THE SOFTWARE, UNLESS SUCH COPIES OR DERIVATIVE WORKS ARE *
* SOLELY IN THE FORM OF MACHINE - EXECUTABLE OBJECT CODE GENERATED BY A SOURCE *
* LANGUAGE PROCESSOR.                                                          *
*                                                                              *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR   *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,     *
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON - INFRINGEMENT.IN NO EVENT   *
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE    *
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,  *
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  *
* DEALINGS IN THE SOFTWARE.                                                    *
*******************************************************************************/
/*
** @file priorityqueue.h
** @brief Priority Queue implementation in C
**
** @author mapaware@hotmail.com
** @copyright © 2024-2030 mapaware.top All Rights Reserved.
** @version 1.0.0
**
** @since 2024-11-21 21:54:30
** @date
**
** @note
**   see: http://btechsmartclass.com/data_structures/max-heap.html
* 
* Usage:// same as: PQueueNew(256, PQMaxHeapComp, PQElemSwap)PQueue_t* pq = PQueueNew(256, 0, 0);PQueuePush(pq, (PQElem_t)40);PQueuePush(pq, (PQElem_t)10);PQueuePush(pq, (PQElem_t)60);PQueuePush(pq, (PQElem_t)50);PQueuePush(pq, (PQElem_t)20);PQueuePush(pq, (PQElem_t)20);const PQElem_t* elt = PQueueTop(pq);printf(">>top=%lld\n", (int64_t)(*elt)); // >>top=60PQueuePop(pq, 0);  // drop the toppest element(=60) hereelt = PQueueTop(pq);printf(">>top=%lld\n", (int64_t)(*elt)); // >>top=50int64_t n = 50;PQueuePop(pq, (const PQElem_t*)&n);    // drop the element(=50) hereelt = PQueueTop(pq);printf(">>top=%lld\n", (int64_t)(*elt)); // >>top=40PQueueFree(pq, 0);
* 
*/
#ifndef PRIORITY_QUEUE_H_
#define PRIORITY_QUEUE_H_#if defined(__cplusplus)
extern "C"
{
#endif#include <stdio.h>
#include <stdint.h>typedef void* PQElem_t;typedef struct
{int (*compfunc)(const PQElem_t *, const PQElem_t *);void (*swapfunc)(PQElem_t*, PQElem_t*);size_t capcity;size_t length;PQElem_t elems[0];
} PQueue_t;static void _PQBuildHeap(PQueue_t* pq, ssize_t size, ssize_t i)
{if (size > 1) {// Find the largest among root, left child and right childssize_t largest = i;ssize_t l = 2 * i + 1;ssize_t r = 2 * i + 2;if (l < size && pq->compfunc(&pq->elems[l], &pq->elems[largest]) > 0) {largest = l;}if (r < size && pq->compfunc(&pq->elems[r], &pq->elems[largest]) > 0) {largest = r;}// Swap and continue heapifying if root is not largestif (largest != i) {pq->swapfunc(&pq->elems[i], &pq->elems[largest]);_PQBuildHeap(pq, size, largest);}}
}static int PQMaxHeapComp(const PQElem_t* elt1, const PQElem_t* elt2)
{PQElem_t v1 = (PQElem_t)(*elt1);PQElem_t v2 = (PQElem_t)(*elt2);return (v1 > v2 ? 1 : (v1 < v2 ? -1 : 0));
}static int PQMinHeapComp(const PQElem_t* elt1, const PQElem_t* elt2)
{PQElem_t v1 = (PQElem_t)(*elt1);PQElem_t v2 = (PQElem_t)(*elt2);return (v1 > v2 ? -1 : (v1 < v2 ? 1 : 0));
}static void PQElemSwap(PQElem_t * elt1, PQElem_t * elt2)
{PQElem_t elt = *elt1;*elt1 = *elt2;*elt2 = elt;
}static PQueue_t * PQueueNew(size_t capcity, int (*comp)(const PQElem_t*, const PQElem_t*), void (*swap)(PQElem_t*, PQElem_t*))
{PQueue_t * pq = (PQueue_t *) malloc(sizeof(PQueue_t) + sizeof(PQElem_t) * capcity);if (pq) {pq->capcity = capcity;pq->length = 0;pq->compfunc = comp? comp: PQMaxHeapComp;pq->swapfunc = swap? swap: PQElemSwap;}return pq;
}static const PQElem_t * PQueueTop(const PQueue_t* pq)
{if (pq->length) {return &pq->elems[0];}return 0;
}// Function to insert an element into the tree
static int PQueuePush(PQueue_t* pq, const PQElem_t elt) {if (! pq->length) {pq->elems[0] = elt;pq->length++;// successreturn 1;}else if (pq->length != pq->capcity) {pq->elems[pq->length++] = elt;for (ssize_t i = pq->length / 2 - 1; i >= 0; i--) {_PQBuildHeap(pq, pq->length, i);}// successreturn 1;}else {// overflowreturn 0;}
}// Function to delete an element from the tree
static PQElem_t * PQueuePop(PQueue_t* pq, const PQElem_t* eltp)
{ssize_t i = 0;if (eltp) {for (; i != pq->length; i++) {if (!pq->compfunc(&pq->elems[i], eltp)) {break;}}}if (i != pq->length) {pq->swapfunc(&pq->elems[i], &pq->elems[pq->length - 1]);pq->length--;for (i = (ssize_t) pq->length / 2 - 1; i >= 0; i--) {_PQBuildHeap(pq, pq->length, i);}return &pq->elems[pq->length];}// no element popreturn 0;
}static void PQueueFree(PQueue_t* pq, void (*elemdtor)(PQElem_t*))
{if (pq) {if (elemdtor) {ssize_t i = 0;PQElem_t* elt = pq->elems;while (i++ != pq->length) {elemdtor(elt++);}}free(pq);}
}#ifdef __cplusplus
}
#endif
#endif /* PRIORITY_QUEUE_H_ */

相关文章:

C 语言实现的优先级队列

C 语言实现的优先级队列 priorityqueue.h /******************************************************************************* * Copyright © 2024-2025 Light Zhang <mapawarehotmail.com>, MapAware, Inc. * * ALL RIGHTS RESERVED. …...

卷积神经网络(CNN)中的批量归一化层(Batch Normalization Layer)

批量归一化层&#xff08;BatchNorm层&#xff09;&#xff0c;或简称为批量归一化&#xff08;Batch Normalization&#xff09;&#xff0c;是深度学习中常用的一种技术&#xff0c;旨在加速神经网络的训练并提高收敛速度。 一、基本思想 为了让数据在训练过程中保持同一分布…...

HDR视频技术之四:HDR 主要标准

HDR 是 UHD 技术中最重要维度之一&#xff0c;带来新的视觉呈现体验。 HDR 技术涉及到采集、加工、传输、呈现等视频流程上的多个环节&#xff0c;需要定义出互联互通的产业标准&#xff0c;以支持规模化应用和部署。本文整理当前 HDR 应用中的一些代表性的国际标准。 1 HDR 发…...

下一个阶段的生产工具更换:

开源竞争&#xff1a; 当你无法彻底掌握技术的时候&#xff0c;就开源这个技术&#xff0c;让更多的人了解这个技术&#xff0c;形成更多的技术依赖&#xff0c;你会说&#xff0c;这不就是在砸罐子吗&#xff1f;一个行业里面总会有人砸罐子的&#xff0c;你不如先砸罐子&…...

性能优化--CPU微架构

一 指令集架构 Intel X86, ARM v8, RISC-V 是当今广泛使用的指令架构的实例。 大多数现代架构可以归类为基于通用寄存器的加载和存储型架构&#xff0c;在这种架构下&#xff0c;操作数倍明确指定&#xff0c;只能使用夹在和存储指令访问内存。除提供基本的功能之外&#xff0c…...

3.3_1 差错控制(检错编码)

目录 1、差错来源 全局性 局部性 2、数据链路的差错控制 ​编辑奇偶校验码 CRC循环冗余码 接收端检错过程 1、差错来源 概括来说&#xff0c;传输中的差错都是由于噪声引起的。 全局性 由于线路本身电气特性所产生的随机噪声(热噪声)&#xff0c;是信道固有的&#xf…...

2024年wordpress、d-link等相关的多个cve漏洞poc

⚠️ 漏洞 ✅ CVE-2024-10914 在D-Link DNS-320、DNS-320LW、DNS-325和DNS-340L中发现的漏洞&#xff0c;版本直到20241028 GET /cgi-bin/account_mgr.cgi?cmdcgi_user_add&name%27;id;%27 HTTP/1.1✅ CVE-2024-11305 在Altenergy Power Control Software中发现的关键…...

影视后期学习Ⅰ~

1.DV是光盘 磁带 2.序列就是我们要制作的一个视频。 打开界面显示&#xff1a; 一号面板放的是素材&#xff0c;二号面板叫源监视器面板&#xff08;它的名字需要记住&#xff09;在一号面板点击文件之后&#xff0c;进入二号面板&#xff0c;在二号面板预览没问题后&#xf…...

如何安全删除 Linux 用户帐户和主目录 ?

Linux 以其健壮性和灵活性而闻名&#xff0c;是全球服务器和桌面的首选。管理用户帐户是系统管理的一个基本方面&#xff0c;包括创建、修改和删除用户帐户及其相关数据。本指南全面概述了如何在 Linux 中安全地删除用户帐户及其主目录&#xff0c;以确保系统的安全性和完整性。…...

【软件测试】设计测试用例的万能公式

文章目录 概念设计测试用例的万能公式常规思考逆向思维发散性思维万能公式水杯测试弱网测试如何进行弱网测试 安装卸载测试 概念 什么是测试用例&#xff1f; 测试⽤例&#xff08;Test Case&#xff09;是为了实施测试⽽向被测试的系统提供的⼀组集合&#xff0c;这组集合包…...

【MySQL】字符集与排序规则

1. 字符集 1.1 一些重要的字符集 1.1.1 ASCII 共收录128个字符&#xff0c;包括空格、标点符号、数字、大小写字母和一些不可见字符。由于总共才128个字符&#xff0c;所以可以使用1个字节来进行编码 1.1.2 ISO-8859-1 共收录 256 个字符&#xff0c;是在 ASCII 字符集的基…...

局域网与广域网:探索网络的规模与奥秘(3/10)

一、局域网的特点 局域网覆盖有限的地理范围&#xff0c;通常在几公里以内&#xff0c;具有实现资源共享、服务共享、维护简单、组网开销低等特点&#xff0c;主要传输介质为双绞线&#xff0c;并使用少量的光纤。 局域网一般是方圆几千米以内的区域网络&#xff0c;其特点丰富…...

C++从零到满绩——类和对象(中)

目录 1>>前言 2>>构造函数&#xff08;我称之为初始化函数&#xff09; 3>>析构函数&#xff08;我称之为销毁函数&#xff09; 4>>拷贝构造函数&#xff08;我称之为复制函数&#xff09; 5>>运算符重载 5.2>>赋值运算符重载 ​编辑…...

MFC工控项目实例三十一模拟量转化为工程量

实测工程量值&#xff08;变送器量程最大值-变送器量程最小值&#xff09;/&#xff08;数字量最大值-数字量最小值&#xff09;*&#xff08;当前采集工程量值-零点误差值&#xff09;。 相关程序代码 SEAL_PRESSURE.h class CSEAL_PRESSUREApp : public CWinApp { public:C…...

ESP32学习笔记_FreeRTOS(2)——Queue

摘要(From AI): 在嵌入式系统开发中&#xff0c;任务之间的高效通信是实现多任务协作的关键。FreeRTOS 提供了强大的队列机制&#xff0c;支持任务之间安全、灵活地传递数据&#xff0c;是实现任务同步和事件通知的核心工具。本篇博客将全面解析 FreeRTOS 队列的工作原理和应用…...

Project Manager工程管理器详细说明

1前言 STM32CubeMX的Project Manager工程管理器包含:Project工程管理、 Code Generator代码生成、 Advanced Settings高级设置三部分内容。 这三部分内容决定了工程的一些属性,相关的配置信息比较重要,也容易理解。初学者有必要掌握其中内容。 2Project工程管理 Project工…...

vue el-table表格点击某行触发事件操作栏点击和row-click冲突问题

文章为本新手菜鸡的问题记录&#xff0c;如有错误和不足还请大佬指正 文章目录 前言一、点击el-table表格某行&#xff0c;触发事件二、解决el-table的操作栏点击和row-click冲突问题1.问题&#xff1a;2.解决方法 前言 文章主要解决两个问题&#xff1a; 1、点击el-table表格…...

吸猫毛空气净化器哪个好?推荐除猫毛效果好的宠物空气净化器品牌

我家里养了五只猫咪&#xff0c;每天睡醒准备来杯咖啡的时候&#xff0c;总能看见猫毛。最尴尬的是这种现象&#xff0c;哪哪都有。养猫人真的每天都要生活在这个世界里面。平时和猫咪玩耍的时候也没有发现这么多猫毛啊。现在一到冬天不能开窗户&#xff0c;真的超级难受感觉每…...

Reactor 模式的理论与实践

1. 引言 1.1 什么是 Reactor 模式&#xff1f; Reactor 模式是一种用于处理高性能 I/O 的设计模式&#xff0c;专注于通过非阻塞 I/O 和事件驱动机制实现高并发性能。它的核心思想是将 I/O 操作的事件分离出来&#xff0c;通过事件分发器&#xff08;Reactor&#xff09;将事…...

VSCode 汉化教程【简洁易懂】

VSCode【下载】【安装】【汉化】【配置C环境&#xff08;超快&#xff09;】&#xff08;Windows环境&#xff09;-CSDN博客 我们安装完成后默认是英文界面。 找到插件选项卡&#xff0c;搜索“Chinese”&#xff0c;找到简体&#xff08;更具你的需要&#xff09;&#xff08;…...

cookie反爬----普通服务器,阿里系

目录 一.常见COOKIE反爬 普通&#xff1a; 1. 简介 2. 加密原理 二.实战案例 1. 服务器响应cookie信息 1. 逆向目标 2. 逆向分析 2. 阿里系cookie逆向 1. 逆向目标 2. 逆向分析 实战&#xff1a; 无限debugger原理 1. Function("debugger").call() 2. …...

【计算机网络】计算机网络概述

当我们决定要谈谈网络的时候&#xff0c;我想在谈之前&#xff0c;有必要了解一下“协议”这个词。协议&#xff0c;定义了在俩个或者多个通信实体之间交换报文的格式和次序&#xff0c;以及报文发送、接收报文或者其他的事件所采取的动作。定义都比较晦涩&#xff0c;那就让我…...

微信小程序条件渲染与列表渲染的全面教程

微信小程序条件渲染与列表渲染的全面教程 引言 在微信小程序的开发中,条件渲染和列表渲染是构建动态用户界面的重要技术。通过条件渲染,我们可以根据不同的状态展示不同的内容,而列表渲染则使得我们能够高效地展示一组数据。本文将详细讲解这两种渲染方式的用法,结合实例…...

MySQL--存储引擎

目录 1 MySQL体系结构 2 存储引擎简介 3 存储引擎特点 3.1 InnoDB 3.1.1 介绍 3.1.2 特点 3.1.3 文件 3.2 逻辑存储结构 3.3 MyISAM 3.3.1 介绍 3.3.2 特点 3.3.3 文件 3.4 Memory 3.3.1 介绍 3.3.2 特点 3.3.3 文件 4 存储引擎选择 Innodb MyISAM MEMORY …...

洛谷 B2038:奇偶 ASCII 值判断

【题目来源】https://www.luogu.com.cn/problem/B2038http://shnoip.openjudge.cn/level1/39/【题目描述】 任意输入一个字符&#xff0c;判断其 ASCII 是否是奇数&#xff0c;若是&#xff0c;输出 YES&#xff0c;否则&#xff0c;输出 NO。 例如&#xff0c;字符 A 的 ASCII…...

软件测试面试之常规问题

1.描述一下测试过程 类似题目:测试的生命周期 思路:这是一个“范围”很大的题目&#xff0c;而且回答时间一般在3分钟之内&#xff0c;不可能非常详细的描述整个过程&#xff0c;因此答题的思路要从整体结构入手&#xff0c;不要过细。为了保证答案的准确性&#xff0c;可以引…...

Android 天气APP(三十七)新版AS编译、更新镜像源、仓库源、修复部分BUG

上一篇&#xff1a;Android 天气APP&#xff08;三十六&#xff09;运行到本地AS、更新项目版本依赖、去掉ButterKnife 新版AS编译、更新镜像源、仓库源、修复部分BUG 前言正文一、更新镜像源① 腾讯源③ 阿里源 二、更新仓库源三、修复城市重名BUG四、地图加载问题五、源码 前…...

网络性能及IO性能测试工具

文章目录 简介IO性能pidstatiostatfioblktrace 网络性能ipeftrek 简介 网络性能和IO性能测试工具在现代计算环境中至关重要。无论是评估网络带宽、优化数据传输速度&#xff0c;还是检测磁盘读写性能&#xff0c;选择适合的工具至关重要。本文将介绍各种网络性能和IO性能测试工…...

1+X应急响应(网络)常见网络攻击-SQL注入:

常见网络攻击-SQL注入&#xff1a; SQL注入概述&#xff1a; 动态网站的工作流程&#xff1a; SQL注入的起源&#xff1a; SQL典型的攻击手段&#xff1a; SQL注入的危害&#xff1a; SQL注入的函数&#xff1a; SQL注入类型&#xff1a; 提交方式分类&#xff1a; Get注入&am…...

流式上传与分片上传的原理与实现

&#x1f680; 博主介绍&#xff1a;大家好&#xff0c;我是无休居士&#xff01;一枚任职于一线Top3互联网大厂的Java开发工程师&#xff01; &#x1f680; &#x1f31f; 在这里&#xff0c;你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人&#xff0c;我不仅热衷…...

基于深度学习CNN算法的花卉分类识别系统01--带数据集-pyqt5UI界面-全套源码

文章目录 基于深度学习算法的花卉分类识别系统一、项目摘要二、项目运行效果三、项目文件介绍四、项目环境配置1、项目环境库2、环境配置视频教程 五、项目系统架构六、项目构建流程1、数据集2、算法网络Mobilenet3、网络模型训练4、训练好的模型预测5、UI界面设计-pyqt56、项目…...

【数电】常见组合逻辑电路设计和分析

1.基于数据选择器设计 1.1卡诺图降维 1.2实例分析 1.2.1例题一 1.2.2例题二 1.2.2例题三 2.基于译码器设计 3.参考资料 1.《数字电子技术基础 第六版》 阎石王红 2.卡诺图的降维_哔哩哔哩_bilibili...

攻防世界-web ics-06 [解法思路]

进入环境 点击左边的列表只有报表中心有反应 注意看url直接就是index.php?id1 我先试了sqlmap不行&#xff0c;然后就沉淀了一下 想到了id后面的参数问题&#xff0c;我谁便改了几个数都没反应 就想着用bp抓包爆一下这个参数&#xff0c;用了一个数字10000的字典 发现2333…...

传智杯 3-初赛:终端

题目描述&#xff1a; 有一天您厌烦了电脑上又丑又没用的终端&#xff0c;打算自己实现一个 Terminal。具体来说&#xff0c;它需要支持如下命令: 1. touch filename&#xff1a;如果名为 filename 的文件不存在&#xff0c;就创建一个这样的文件&#xff0c;如果已经存在同名…...

《数据结构》学习系列——图(中)

系列文章目录 目录 图的遍历深度优先遍历递归算法堆栈算法 广度优先搜索 拓扑排序定义定理算法思想伪代码 关键路径基本概念关键活动有关量数学公式伪代码时间复杂性 图的遍历 从给定连通图的某一顶点出发&#xff0c;沿着一些边访问遍图中所有的顶点&#xff0c;且使每个顶点…...

网络安全,文明上网(2)加强网络安全意识

前言 在当今这个数据驱动的时代&#xff0c;对网络安全保持高度警觉已经成为每个人的基本要求。 网络安全意识&#xff1a;信息时代的必备防御 网络已经成为我们生活中不可或缺的一部分&#xff0c;信息技术的快速进步使得我们对网络的依赖性日益增强。然而&#xff0c;网络安全…...

Laravel对接SLS日志服务

Laravel对接SLS日志服务&#xff08;写入和读取&#xff09; 1、下载阿里云的sdk #通过composer下载 composer require alibabacloud/aliyun-log-php-sdk#对应的git仓库 https://github.com/aliyun/aliyun-log-php-sdk2、创建sdk请求的service <?phpnamespace App\Ser…...

Kafka 工作流程解析:从 Broker 工作原理、节点的服役、退役、副本的生成到数据存储与读写优化

Kafka&#xff1a;分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析&#xff1a;从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…...

基于 Flink 的车辆超速监测与数据存储的小实战

基于 Flink 的车辆超速监测与数据存储的小实战 一、实战背景与目标 在智能交通管理领域&#xff0c;实时监控车辆行驶速度并精准识别超速行为对于保障道路交通安全和维护交通秩序具有至关重要的意义。本项目旨在构建一个高效的数据处理系统&#xff0c;能够从 Kafka 的 topic…...

Shell 脚本基础(7):重定向详解

内容预览 ≧∀≦ゞ Shell 脚本基础&#xff08;7&#xff09;&#xff1a;重定向详解声明1. 重定向基础概念1.1 输出重定向&#xff08;> 和 >>&#xff09;覆盖写入&#xff08;>&#xff09;追加写入&#xff08;>>&#xff09;输出到终端和文件&#xff0…...

04. 流程控制

一、流程控制 流程控制就是用来控制程序运行中各语句执行顺序的语句。基本的流程结构为&#xff1a;顺序结构&#xff0c;分支结构&#xff08;或称选择结构&#xff09;&#xff0c;循环结构。 顺序结构&#xff1a;程序自上到下执行&#xff0c;中间没有任何判断和跳转&…...

基于卡尔曼滤波器的 PID 控制

基于卡尔曼滤波器的PID控制算法结合了经典控制理论和现代信号处理技术。卡尔曼滤波器&#xff08;Kalman Filter, KF&#xff09;可以对噪声数据进行平滑处理&#xff0c;从而改善PID控制器的性能&#xff0c;特别是在处理具有噪声和不确定性的系统时。以下是详细的设计过程&am…...

基于信创环境的信息化系统运行监控及运维需求及策略

随着信息技术的快速发展和国家对信息安全的日益重视&#xff0c;信创环境&#xff08;信息技术应用创新环境&#xff09;的建设已成为行业发展的重要趋势。本指南旨在为运维团队在基于信创环境的系统建设及运维过程中提供参考&#xff0c;确保项目顺利实施并满足各项技术指标和…...

leetCode 283.移动零

题目 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums [0] 输出:…...

Kali Linux语言设置成中文

要将Kali Linux设置成中国地区&#xff08;简体中文&#xff09;&#xff0c;可以按照以下步骤进行操作&#xff1a; 一、更新软件包列表 打开Kali Linux的终端。 输入以下命令来更新软件包列表&#xff1a; sudo apt-get update 二、安装语言包&#xff08;如果有就不用安装了…...

c#窗体列表框(combobox)应用——省市区列表选择实例

效果如下&#xff1a; designer.cs代码如下&#xff1a; using System.Collections.Generic;namespace 删除 {public partial class 省市区选择{private Dictionary<string, List<string>> provinceCityDictionary;private Dictionary<string,List<string&…...

kali中信息收集的一些常用工具

这里只是代表个人所见&#xff0c;所以肯定会有其他的没提到&#xff0c;希望大家体谅 前言 信息收集分为主动和被动的 主动就是通过自己的机器去和对方比如通信后获得的数据 被动是指不是在自己这里获取的&#xff0c;可以是第三方平台获取到的&#xff0c;与目标没有通信 …...

【CS61A 2024秋】Python入门课,全过程记录P2(Week3开始,更新中2024/11/24)

文章目录 关于基本介绍&#x1f44b;Week 3Mon Environments阅读材料Lab 02: Higher-Order Functions, Lambda ExpressionsQ1: WWPD: The Truth Will PrevailQ2: WWPD: Higher-Order FunctionsQ3: WWPD: Lambda 关于 个人博客&#xff0c;里面偶尔更新&#xff0c;最近比较忙。…...

python学习笔记(8)算法(1)数组

一、数组 数组是存储于一个连续空间且具有相同数据类型的元素集合。若将有限个类型相同的变量的集合命名&#xff0c;那么这个名称为数组名。组成数组的各个变量称为数组的分量&#xff0c;也称为数组的元素&#xff0c;有时也称为下标变量。用于区分数组的各个元素的数字编号…...

C++(进阶) 第1章 继承

C&#xff08;进阶) 第1章 继承 文章目录 前言一、继承1.什么是继承2.继承的使用 二、继承方式1.private成员变量的&#xff08;3种继承方式&#xff09;继承2. private继承方式3.继承基类成员访问⽅式的变化 三、基类和派生类间的转换1.切片 四、 继承中的作⽤域1.隐藏规则&am…...