408数据结构强化(自用)

常用代码片段(持续更新)

折半查找

void SearchBinary(int A[];int x){int low = 0, high = n-1, mid;while(low<=high){mid = (low+high)/2;if(A[mid]==x) break;else if(A[mid] < x) low = mid + 1;else high = mid - 1;}

顺序表逆置

void Reverse(SqList &L){for(int i=0;i<L.length/2;i++){temp = L.data[i];L.data[i] = L.data[length-i-1];L.data[length-i-1] = temp;}
}

快速排序

int huafen(int A[]; int L; int R)int mid = A[L];while(L<R){while(L<=R&&A[R]>=mid) R--;A[L] = A[R];while(L<=R&&A[L]<=mid) L++:A[R] = A[L];}A[L] = mid;retutn L;}
void Qsort(int A[], int L, int R){if(L>=R) return;int M = huafen(A, L, R);Qsort(A, M+1, R); //右半部分快排Qsort(A, L, M-1); //左半部分快排
}

快速排序的划分思想

//使用划分函数找到数组中第k小的元素
int huafen(int A[]; int L; int R)int mid = A[L];while(L<R){while(L<=R&&A[R]>=mid) R--;A[L] = A[R];while(L<=R&&A[L]<=mid) L++:A[R] = A[L];}A[L] = mid;retutn L;}
int func(int A[], int n, int k){int L = 0, R = n-1, M = 0;while(1){M = huafen(A ,R ,L);if(M == k-1) break;else if(M > k-1) R = M-1;else if(M < k-1) L = m+1;}return A[k-1];
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91885.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux cpu频率和AVS调压等级

1&#xff0c;linux常见的cpu频率对应的电压等级对应参数表如下:频率&#xff08;GHz&#xff09;电压&#xff08;V&#xff09;1.61.41.41.21.21.01.00.82&#xff0c;avs调压的几种方式linux内核宏解释Linux内核中&#xff0c;AVS调压的实现依赖于一些宏定义和配置选项&…

Input输入和Screen相关

知识点using System.Collections; using System.Collections.Generic; using UnityEngine;public class Lesson11 : MonoBehaviour {// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){#region 注意&#xff0c…

如何在CSDN变现?如何赚钱?如何涨粉?如何找到优质大V博主合作伙伴?

&#x1f525; 2025最新 如何在CSDN变现&#xff1f;如何赚钱&#xff1f;如何跟对人&#xff1f;如何找到优质博主合作伙伴&#xff1f; 大家好&#xff0c;我是猫头虎&#xff0c;今天✍️想和大家聊聊在CSDN平台变现的问题。这也是绝大多数伙伴非常关心的一个话题——其实&…

OpenCV特征点提取算法orb、surf、sift对比

下面是 OpenCV 中三种常用特征点提取算法&#xff1a;ORB、SURF 和 SIFT 的详细对比&#xff0c;从 算法原理、性能、使用限制 和 适用场景 多维度进行总结&#xff0c;帮助大家在实际项目中合理选择。一览表&#xff1a;ORB vs. SURF vs. SIFT属性/算法ORBSURFSIFT全称Oriente…

LeafletJS 与 React:构建现代地图应用

引言 LeafletJS 是一个轻量、灵活的 JavaScript 地图库&#xff0c;广泛用于创建交互式 Web 地图&#xff0c;而 React 作为现代前端框架&#xff0c;以其组件化、状态管理和虚拟 DOM 特性&#xff0c;成为构建动态用户界面的首选工具。将 LeafletJS 与 React 结合&#xff0c…

前后端数据交互,关于表单数据传输问题

表单提交var formData new FormData(); // 添加每个事故ID作为单独的参数 accidentIds.forEach(id > formData.append(accidentIds, id)); formData.append(status, statusText); $.messager.confirm(确认, 确定要将事故记录标记为 statusText 吗&#xff1f;, function …

新书推介 | 吉林大学出版教材《汽车智能辅助驾驶系统技术》,国产仿真工具链GCKontrol-GCAir教学应用

近日&#xff0c;吉林大学出版了由高镇海教授、孙天骏副教授主编的新教材《汽车智能辅助驾驶系统技术》&#xff0c;本书系统地介绍了汽车智能辅助驾驶系统的发展需求、物理架构、功能算法、技术原理以及应用场景。在教材第17章《仿真测试》&#xff0c;应用国产化GCKontrol-GC…

从 0 到 1 玩转 XSS - haozi 靶场:环境搭建 + 全关卡漏洞解析

文章目录前言靶场地址0X00 直接注入0X01 闭合标签10X02 闭合标签20X03 绕过特殊符号10X04 绕过特殊符号20X05 绕过注释符0X06 绕过更多符号0X07 绕过更多符号20X08 绕过闭合符号0X09 绕过URL匹配0X0A 绕过URL过滤0X0B 绕过大写转换10X0C 绕过大写转换20X0D 绕过注释0X0E 古英语…

TF卡格式化

cmd 输入diskpart,在新打开的窗口输入list disk&#xff0c;然后select disk [磁盘号]&#xff0c;clean&#xff0c;回车变成未分区的。再选中磁盘&#xff0c;选中之后create partition [分区名] 回车&#xff0c;list partition&#xff0c;查看分区&#xff0c;输入active&…

Python爬虫实战:研究sqlparse库相关技术

1. 引言 1.1 研究背景与意义 在当今数据驱动的时代,SQL 作为关系型数据库的标准查询语言,被广泛应用于各种数据处理和分析场景。随着数据库应用的不断发展,SQL 代码的规模和复杂度也在不断增加,这给 SQL 代码的编写、维护和优化带来了挑战。 研究表明,低效的 SQL 查询是…

全球天气预报5天(经纬度版)免费API接口教程

本文全面介绍由接口盒子免费API提供的全球天气预报API&#xff0c;支持通过经纬度坐标获取任意地区未来5天的详细天气预报数据。 一、接口核心功能 ​全球覆盖​&#xff1a;支持全球任意经纬度坐标点的天气预报​高精度预报​&#xff1a;提供每3小时为间隔的精细化预报&…

5 基于STM32单片机的绝缘检测系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)

系列文章目录 文章目录 系列文章目录前言1 1 资料获取与演示视频1.1 资料介绍1.2 资料获取1.3 演示视频 2 系统框架3 硬件3.1 主控制器3.2 显示屏3.3 WIFI模块3.4 DHT11温湿度传感器3.5 可调电位器 4 设计PCB4.1 安装下载立创EDA专业版4.2 画原理图4.3 摆放元器件&#xff0c;设…

CPP学习之list使用及模拟实现

一、list简介及用法 1. list简介 list是可以在常数范围内任意位置进行插入、删除、修改操作的有顺序性的容器&#xff0c;而且支持双向迭代&#xff0c;其底层是双链表结构&#xff0c;逻辑上连续但物理空间上不连续&#xff0c;只能通过指针来进行元素访问&#xff0c;无法使用…

Spring Boot 参数校验:@Valid 与 @Validated

在日常开发中&#xff0c;参数校验是保障接口健壮性与数据安全的第一道防线。Spring Boot 为我们提供了基于 JSR-303/JSR-380 的强大校验机制&#xff0c;通过注解与 AOP 实现了灵活且高效的数据校验方式。本篇博客将详细介绍 Spring Boot 中 Valid、Validated 注解的使用方法&…

linux看门狗重启定位思路总结

1&#xff0c;看门狗定位思路&#xff08;1&#xff09;是否是死锁导致查看日志查看是否有RCU install或者deadlock相关打印&#xff0c;如果有的话可以考虑使用lockdep死锁检测工具&#xff08;2&#xff09;中断风暴查看中断&#xff0c;抓中断打印&#xff0c;可以查看/proc…

基于单片机直流电机测速中文液晶显示设计

摘 要 在现在工业自动化高度发展的时期&#xff0c;几乎所有的工业设备都离不开旋转设备&#xff0c;形形色色的电机在不同领域发挥着很重要的作用。不同场合对电机控制要求是不同的&#xff0c;但大部分都会涉及到旋转设备的转速测量&#xff0c;从而利用转速来实施对旋转设备…

c# sqlsugar 主子表明细 查询

在使用 SqlSugar ORM 进行数据库操作时&#xff0c;特别是在处理主子表关系时&#xff0c;通常需要执行关联查询来获取主表和其子表的数据。SqlSugar 提供了强大的查询能力&#xff0c;支持多种方式的关联查询&#xff0c;包括左连接&#xff08;Left Join&#xff09;、内连接…

研华PCI-1285/1285E 系列------(一概述)

PCI-1285/1285E 系列是基于 DSP 的 SoftMotion PCI 总线控制器卡,专为各种电机自动 化和其它机器自动化的广泛应用设计。板卡配有高性能 DSP,其中包括 SoftMotion算法,能够实现运动轨迹和时间控制,以满足精确运动中的同步应用需求。 研华 SoftMotion 支持以下特性:龙门…

二代身份证识别技术的发展:从机器学习到深度学习

一、技术发展历程1. 传统机器学习时代&#xff08;2000-2012&#xff09;特征工程方法&#xff1a;主要依赖手工设计的特征&#xff08;HOG、SIFT、LBP等&#xff09;分类器技术&#xff1a;支持向量机(SVM)、随机森林、AdaBoost等OCR技术&#xff1a;基于模板匹配和连通区域分…

云服务器如何设置防火墙和安全组规则?

一、安全组&#xff08;Security Group&#xff09;设置安全组是云平台提供的虚拟防火墙&#xff0c;用于控制 入站&#xff08;Ingress&#xff09;和出站&#xff08;Egress&#xff09;流量。1. 基本安全组规则&#xff08;推荐&#xff09;协议端口源IP用途是否必需TCP22你…