📌有序顺序表的合并

#define MAX_SIZE 20
struct SeqList
{int data[MAX_SIZE];int length;
};
void mergeArray(SeqList &L1,SeqList &L2,SeqList &L)
{int i=0,j =0;while(i<L1.length && j<L2.length){if(L1.data[i]<L2.data[j])L.data[length++] = L1.length[i++];elseL.data[length++] = L2.length[j++];}while(i<L1.length){L.data[length++] = L1.length[i++];}while(i<L2.length){L.data[length++] = L2.length[j++];}
}

📌删除有序顺序表重复元素

void deleteRepeatELement(SeqList &L)
{int slow =0,fast=1;while(fast<L.length){if( L.data[slow] == L.data[fast]){fast++;}else if( L.data[slow] != L.data[fast]){L.data[++slow] =L.data[fast++];}}L.length =slow+1;
}

通过快慢指针的追赶,将不重复的元素 "前移",覆盖掉重复元素,最终实现原地去重,时间复杂度为 O (n),空间复杂度为 O (1)。

📌编写算法,对n个关键字取整数值的记录序列进⾏整理,以使得所有关键字为负数的记录排在关键字为⾮负数的记录之前。

void reOrderArray(SeqList &L)
{int i=0,j=0;while(j<L.length){if(L.data[j]<0){if(i!=j){int tmp = L.data[i];L.data[i] = L.data[j];L.data[j] = tmp;}i++;j++;}elsej++;}
}

📌设有⼀组初始记录关键字序列(K1,K2,…,Kn),要求设计⼀个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均⼩于Ki,右半部分的每个关键字均⼤于Ki。

//⽅法⼀:双指针
void spliceArrayother(SeqList &L)
{int left = 0;           //左半部分的索引。int right = L.length -1; //右半部分的索引while( left <= right ){while(L.data[left] < key)left ++;while(L.data[right] > key)right --;//如果left <=right 交换if(left <=right){int tmp = L.data[left];L.data[left] =L.data[right];L.data[right] = tmp;left ++;right--;}}
}
//⽅法⼆:类似快排
void spliceArray(SeqList &L)
{int key;int i = 0,j=0;while(j < L.length){if(L.data[j]> key){if(i != j){int tmp = L.data[i];L.data[i] = L.data[j];L.data[j] = tmp;}i++;j++;}j++;}
}

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

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

相关文章

25电赛e题 控制激光开关电路

e题明确说了禁止使用继电器控制&#xff0c;所以需要自己搭建一个mos管控制电路这里使用mos管来驱动GPIO → 电阻(220Ω) → MOSFET栅极(如IRF520N)MOSFET漏极接激光器正极MOSFET源极接地激光器负极直接接电源连接方式如下这里r36为栅极电阻&#xff0c;需要跟你们使用的mos配合…

ubuntu apt源报错?

报错原因&#xff1a;一、网络连接方面1.网络不通畅&#xff08;常见&#xff09;简单来说就是你的虚拟机连不上网&#xff0c;这时候你应该检查自己的ip 是不是dhcp自动获取的&#xff0c;或者你的网络配置是否有误。2.DNS 解析故障&#xff1a;DNS 服务器配置错误或 DNS 服务…

Scene as Occupancy

OccNet https://github.com/OpenDriveLab/OccNet Scene as Occupancy 提出了一种新的场景表示方法&#xff0c; 利用环视摄像头&#xff0c;采用级联和时序体素编码的方式来重建三维Occ场景。Method 1&#xff09;提出的OCCNet首先重建占据描述符&#xff0c;目标是为支持下游任…

Linux基础复习:字符输入与输出

该文仅针对自身对Linux基础知识不足的地方进行补充扩展&#xff0c;便于巩固。终端的输入和输出由字符设备管理。1、查看当前字符设备# 查看当前bash进程 [rootopenEuler-1 ~]# psPID TTY TIME CMD9662 pts/1 00:00:00 bash9938 pts/1 00:00:00 ps# 该目录存放了…

【初识数据结构】CS61B中的基数排序

本教程介绍 CS61B 中的基数排序&#xff0c;这是一种可以在某些情况下甚至超越归并排序、快速排序的特殊的排序方法&#xff0c;但是牺牲了内存空间计数排序 连续编号情形 我们需要对一个编号从 0 到 11 的表进行排序实际上我们可以拿出另一张同样大小的空白表&#xff0c;在遍…

ReAct模式深度解析:构建具备推理能力的AI智能体架构

本文深入剖析ReAct(Reasoning+Acting)架构设计模式,揭示如何通过推理与行动循环构建具备自主决策能力的AI智能体,并展示其在复杂问题求解中的革命性突破。 引言:从工具调用到自主决策的进化 传统AI系统面临的核心瓶颈: #mermaid-svg-orlnKyviyW86xIJZ {font-family:&quo…

Corrosion2靶机攻略

第一步搭建环境 靶机下载地址&#xff1a;https://download.vulnhub.com/corrosion/Corrosion2.ova 下载完成后直接右击用VM打开&#xff0c;重试一下就可以了 右击虚拟机设置将网络连接改成nat模式 第二步信息收集 查看一下靶机的网段&#xff0c;左上角编辑&#xff0c;虚…

SSL 剥离漏洞

一、SSL/TLS 协议基础​1.1、SSL/TLS 协议的核心功能​SSL/TLS 协议的核心功能主要包括三个方面&#xff1a;加密、认证和完整性校验&#xff0c;这三大功能共同构建了网络通信的安全屏障。​&#xff08;一&#xff09;加密​加密是 SSL/TLS 协议最基本的功能。它通过使用对称…

c++-reverse_iterator

C反向迭代器 反向迭代器是C标准库提供的一种适配器&#xff0c;它允许我们以相反的顺序遍历容器&#xff0c;反向迭代器是正向迭代器的封装。 迭代器可以分为两类&#xff1a;方向性质&#xff1a;单向迭代器&#xff08;Forward Iterator&#xff09;双向迭代器&#xff08;Bi…

linux内核驱动:电流/电压/功率监控模块INA226调试

目录背景一、芯片介绍二、手册三、内核驱动配置3.1 设备树配置3.2 修改内核配置文件3.3 编译四、内核驱动分析1、初始化流程2、属性文件/解释五、调试和计算背景 最近调试了一款德州仪器的带有I2C控制接口的可以实现电压、电流、功率监测&#xff0c;并可以进行报警设置的芯片I…

ACL 2024 大模型方向优秀论文:洞察NLP前沿​关键突破

关注gongzhonghao【计算机sci论文精选】近年来&#xff0c;以Transformer架构为核心的大语言模型重塑了自然语言处理领域的技术范式。当前ACL相关研究呈现多维度深化态势&#xff0c;从开源社区推动轻量化架构与低成本训练技术革新&#xff0c;到学术界探索检索增强等机制突破长…

乐创E20H1型IO从站与Ethercat转Profinet网关转换器的配置应用案例

本案例聚焦于西门子 1200PLC 与 E20H1 - T01 IO 从站的连接。在正常运行过程中&#xff0c;E20H1 - T01 IO 从站需支持 EtherCAT 协议&#xff0c;作为 EtherCAT 从站&#xff1b;而监控系统所采用的西门子 S7 - 1200 系列 PLC 则支持 PROFINET 协议。由于协议的不一致性&#…

【2】专业自定义图表创建及应用方法

一、专业自定义图表创建及应用方法1&#xff09;不是图表的图表制作方法例题1:迷你图表制作方法&#xfeff;定义&#xff1a;指依靠Excel基本制图功能之外的其他功能&#xff08;如公式、条件格式、迷你图等&#xff09;创建的数据可视化图表特点&#xff1a;引用数据少且占用…

embodied复现所需docker环境配置粗略流程

由于embodied很多安装包都需要linux环境&#xff0c;所以为了建立虚拟ubuntu系统&#xff0c;在不适用vmvare的情况&#xff0c;可以考虑使用docker容器来实现&#xff0c;也不会出现的vmware的卡顿情况 1.首先建立容器&#xff0c;并和pycharm建立连接,先安装docker desktop&a…

2025.8-12月 AI相关国内会议

以下是2025年8月至12月国内与人工智能&#xff08;AI&#xff09;相关的重要会议及活动总结&#xff0c;按时间顺序排列&#xff1a; 2025年8月第六届人工智能与机电自动化国际学术会议&#xff08;AIEA 2025&#xff09; • 时间&#xff1a;8月1-3日 • 地点&#xff1a;安徽…

计数组合学7.10(舒尔函数的组合定义)

7.10 舒尔函数的组合定义 前几节讨论的四个基 mλm_{\lambda}mλ​、eλe_{\lambda}eλ​、hλh_{\lambda}hλ​ 和 pλp_{\lambda}pλ​ 的定义都较为直观。本节将介绍第五个基&#xff0c;其元素记为 sλs_{\lambda}sλ​&#xff0c;称为舒尔函数&#xff0c;其定义则更为微…

【前端】CSS Grid布局介绍及示例

CSS Grid 简介 CSS Grid 是一个二维布局系统&#xff0c;专为处理行和列的复杂网页布局而设计。与 Flexbox&#xff08;一维布局&#xff09;不同&#xff0c;Grid 允许开发者同时控制行和列&#xff0c;实现更精确的布局结构。 核心概念&#xff1a; Grid 容器&#xff1a;通过…

[echarts]多个柱状图及图例

前言 实现多个柱状图功能&#xff0c;并设置多个图例样式&#xff0c;并定时刷新数据 react引入echarts import React, { useEffect, useRef } from react; import * as echarts from echarts; import DeviceApi from /api/screen/DeviceApi;const CenterDeviceSummary (props…

【读文献】Capacitor-drop AC-DC

[1] F. Song, et al., “An 85-to-230VAC to 3.3-to-4.6VDc 1.52W Capacitor-Drop Sigma-Floating-SC AC-DC Converter with 81.3% Peak Efficiency,” 2025 IEEE International Solid-State Circuits Conference (ISSCC), 2025.以下是针对该电容降压AC-DC转换器设计的通俗版解…

`StreamConfigurationMap` 实现逻辑与解析过程详解:相机流能力的声明、匹配与验证机制全景

StreamConfigurationMap 实现逻辑与解析过程详解:相机流能力的声明、匹配与验证机制全景 关键词: StreamConfigurationMap、CameraCharacteristics、OutputFormat、InputFormat、Size 配置、帧率范围、流兼容性、配置失败调试 摘要: StreamConfigurationMap 是 Android 相…