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

C语言实现408考研真题2016年43题

#include <iostream>

// 定义分区函数,返回两个子数组之和的差值
int setPartition(int a[], int n)
{
    int pivotkey, low = 0, low0 = 0, high = n - 1, high0 = n - 1, flag = 1, k = n / 2, i;
    int s1 = 0, s2 = 0;
    
    // 当low等于k-1,也就是n/2-1时,分割结束
    while(flag)
    {
        pivotkey = a[low]; // 选择枢轴
        
        // 基于枢轴对数据进行划分
        while (low < high) 
        {
            while (low < high && a[high] >= pivotkey)
                --high;
            if (low != high)
                a[low] = a[high];
            
            while (low < high && a[low] <= pivotkey)
                ++low;
            if (low != high)
                a[high] = a[low];
        } // end of while(low<high)
        
        a[low] = pivotkey; // 把分割值放到对应的位置
        
        // 判断枢轴是否位于目标位置
        if(low == k - 1) // 如果枢轴是第 n/2 小元素,划分成功
        {
            flag = 0;
        }
        else
        {
            if(low < k - 1) // 如果枢轴小于目标位置,则在左侧继续查找
            {
                low0 = ++low; // low0只是做暂存,为下次使用准备,这里我们++low后,low比分割值大1
                high = high0; // 把上次暂存的high0拿过来
            }
            else // 如果枢轴大于目标位置,则在右侧继续查找
            {
                low = low0; // 把上次暂存的low0拿过来
                high0 = --high; // high0只是做暂存,为下次使用准备
            }
        }
    }
    
    // 计算前半部分的总和
    for(i = 0; i < k; i++)
    {
        s1 += a[i];
    }
    
    // 计算后半部分的总和
    for(i = k; i < n; i++)
    {
        s2 += a[i];
    }
    
    // 返回两个子数组之和的差值
    return s2 - s1;
}

int main() {
    int A[10] = { 4,1,12, 18, 7,13, 18, 16,  2, 15 };
    int difference;
    difference = setPartition(A, 10); // 考研初试只需要完成setPartition即可,无需编写这个main函数
    printf("%d\n", difference);
    scanf("%d"); // 这一行用于防止控制台立即关闭,实际用途需根据需求确定
    return 0;
}

相关文章:

C语言实现408考研真题2016年43题

#include <iostream> // 定义分区函数&#xff0c;返回两个子数组之和的差值 int setPartition(int a[], int n) { int pivotkey, low 0, low0 0, high n - 1, high0 n - 1, flag 1, k n / 2, i; int s1 0, s2 0; // 当low等于k-1&#xff0c;…...

2024年,Rust开发语言,现在怎么样了?

Rust开发语言有着一些其他语言明显的优势&#xff0c;但也充满着争议&#xff0c;难上手、学习陡峭等。 Rust 是由 Mozilla 主导开发的通用、编译型编程语言&#xff0c;2010年首次公开。 在 Stack Overflow 的年度开发者调查报告中&#xff0c;Rust 连续多年被评为“最受喜爱…...

三种网络配置方法nmcli、ip、ifcfg文件

文章目录 总结nmcli配置网络定义与功能&#xff1a;特点&#xff1a;示例&#xff1a; ip配置网络定义与功能&#xff1a;特点&#xff1a;示例&#xff1a; ifcfg配置网络定义与功能&#xff1a;特点&#xff1a;示例&#xff1a; 总结 nmcli&#xff1a;适合需要动态管理网络…...

AES_ECB算法C++与Java相互加解密Demo

一、AES算法 AES是一种对称加密算法&#xff0c;算法秘钥长度可为128位(16字节)、192位(24字节)、256位(32字节)。加密模式分为ECB、CBC、CTR等&#xff0c;其中ECB模式最简单够用。现给出ECB模式下C和Java的实现&#xff0c;并且可以相互加解密验证。 二、AES_ECB实现DEMO …...

H7-TOOL自制Flash读写保护算法系列,为兆易创新GD32E23X制作使能和解除算法,支持在线烧录和脱机烧录使用(2024-10-29)

说明&#xff1a; 很多IC厂家仅发布了内部Flash算法文件&#xff0c;并没有提供读写保护算法文件&#xff0c;也就是选项字节算法文件&#xff0c;需要我们制作。 实际上当前已经发布的TOOL版本&#xff0c;已经自制很多了。但是依然有些厂家还没自制&#xff0c;所以陆续开始…...

FFmpeg 深度教程音视频处理的终极工具

1. 引言 什么是 FFmpeg&#xff1f; FFmpeg 是一个开源的跨平台多媒体处理工具&#xff0c;广泛应用于音视频的录制、转换、流式传输以及编辑等多个领域。它由 FFmpeg 项目团队开发和维护&#xff0c;支持几乎所有主流的音视频格式和编解码器。FFmpeg 包含了一系列强大的命令…...

Java程序设计:spring boot(13)——全局异常与事务控制

1 Spring Boot 事务支持 在使⽤ Jdbc 作为数据库访问技术时&#xff0c;Spring Boot框架定义了基于jdbc的PlatformTransaction Manager 接⼝的实现 DataSourceTransactionManager&#xff0c;并在 Spring Boot 应⽤ 启动时⾃动进⾏配置。如果使⽤ jpa 的话 Spring Boot 同样提供…...

金和OA-C6 ApproveRemindSetExec.aspx XXE漏洞复现(CNVD-2024-40568)

0x01 产品描述&#xff1a; 金和C6协同管理平台是以"精确管理思想"为灵魂&#xff0c;围绕“企业协同四层次理论”模型&#xff0c;并紧紧抓住现代企业管理的六个核心要素&#xff1a;文化 Culture、 沟通Communication 、 协作Collaboration 、创新 Creation、 控制…...

Redis集群及Redis存储原理

Redis存储原理 Redis将内存划分为16384个区域(类似hash槽) 将数据的key使用CRC16算法计算出一个值,取余16384 得到的结果是0~16383 将这个key保存在计算结果对应的槽位 再次查询这个key时,直接到这个槽位查找,效率很高 实际上这就是"散列表" 提高查询的效率 R…...

基于Springboot的图书个性化推荐系统【源码】+【论文】

图书个性化推荐系统是一个基于Java语言和Springboot框架开发的Web应用系统&#xff0c;主要为管理员和学生提供个性化图书推荐、图书预约和管理功能。系统通过管理员和学生的不同权限设置&#xff0c;实现了图书分类管理、预约管理、退换图书管理、留言板管理等全面的功能&…...

科普 | 子母钟系统是什么?网络时钟同步的重要性?

科普 | 子母钟系统是什么&#xff1f;网络时钟同步的重要性&#xff1f; 科普 | 子母钟系统是什么&#xff1f;网络时钟同步的重要性&#xff1f; 在信息时代的今天&#xff0c;准确统一的时钟系统已广泛的应用在车站、医院、学校、机场等公共服务场所。 因此完善的时钟系统对…...

批量删除redis数据【亲测可用】

文章目录 引言I redis客户端基础操作key的命名规则批量查询keyII 批量删除key使用连接工具进行分组shell脚本示例其他方法III 知识扩展:控制短信验证码获取频率引言 批量删除redis数据的应用: 例如缓存数据使用了新的key存储,需要删除废弃的key。RedisTemplate的key序列化采…...

Vuestic 数据表格 使用demo

<template><br><div class"grid sm:grid-cols-3 gap-6 mb-6"><VaButton click"()>{for(const it in this.selectedItems){console.log(this.selectedItems);}}">参数设置</VaButton><VaButton>参数刷新</VaButt…...

考勤无忧,Zoho People助HR高效

云考勤系统提升数据准确性、无缝对接业务、节省成本、提高员工效率、保障安全。ZohoPeople作为云HRMS&#xff0c;集成考勤管理等功能&#xff0c;支持试用&#xff0c;助力企业高效管理。 一、使用云考勤管理系统&#xff0c;有哪些好处&#xff1f; 1、数据准确性得到保障 …...

已知一个法向量和一个点,求该平面的ModelCoefficients,并使用ProjectInliers将点云投影到该平面

#include <pcl/point_cloud.h> #include <pcl/point_types.h> #include <pcl/filters/project_inliers.h> #include <pcl/model_coefficients.h>// 假设法向量和一个点已知 float A 1.0; // 法向量的 x 分量 float B 0.0; // 法向量的 y 分量 floa…...

92.【C语言】数据结构之单向链表的查找,中间插入和删除,销毁

目录 1.链表的查找函数 2.链表的修改函数 3.链表的中间插入函数 1.在pos之前插入:SLTInsertBefore函数 1.借助头指针pphead 示意图 代码示例(写入SList.c) 头文件添加SLTInsertbefore的声明 main.c的部分代码改为 1.测试中间插入 2.测试头部插入 3.测试pos为NULL的…...

WPF+MVVM案例实战(七)- 系统初始化界面字体描边效果实现

文章目录 1、案例效果展示2、项目准备3、功能实现1、资源获取2、界面代码3、后台代码4 源代码获取1、案例效果展示 2、项目准备 打开项目 Wpf_Examples,新建系统初始化界面 WelcomeWindow.xmal,如下所示: 3、功能实现 1、资源获取 案例中使用的CSDN文字为路径文字,从字体…...

基于 C# 的 AI 算法测试方法

基于 C# 的 AI 算法测试方法 在当今人工智能蓬勃发展的时代&#xff0c;AI 算法的质量和可靠性至关重要。对于使用 C# 开发的 AI 算法&#xff0c;我们需要一套有效的测试方法来确保其性能、准确性和稳定性。本文将详细探讨基于 C# 的 AI 算法测试方法&#xff0c;帮助开发者更…...

Find My画框|苹果Find My技术与画框结合,智能防丢,全球定位

画框通常用于保护和固定艺术品&#xff0c;尤其是绘画作品。它是一种可以展示艺术品的框架&#xff0c;用于保护艺术品免受损坏或污染。艺术品被放置在画框内&#xff0c;可以避免受到空气、尘土和其他外部因素的损害。同时&#xff0c;画框还可以增强艺术品的展示效果&#xf…...

布谷语音源码服务器搭建环境及配置流程

布谷语音源码部署环境安装要求&#xff08;只有在相同的环境下才更容易避免一些不必要的麻烦&#xff09;&#xff1a;●安装Center OS 7.9&#xff0c;我们自己的服务器使用的是7.9建议相同系统&#xff0c;非强制●安装宝塔环境&#xff08;强烈推荐使用&#xff09;●安装软…...

RuoYi-v4.5.0 文件下载接口的坑:从一次调试到发现任意文件读取漏洞

从调试到发现&#xff1a;RuoYi文件下载接口的路径拼接陷阱 那天下午&#xff0c;我正对着屏幕上的404错误发呆。项目里一个简单的文件下载功能突然罢工&#xff0c;而日志里只有一句冷冰冰的"File not found"。作为团队里负责这个模块的开发者&#xff0c;我不得不深…...

RAW图像处理避坑指南:如何正确分离和组合RGGB四通道(Python版)

RAW图像处理避坑指南&#xff1a;如何正确分离和组合RGGB四通道&#xff08;Python版&#xff09; 第一次处理RAW图像时&#xff0c;我犯了一个低级错误——直接把RGGB四个通道当作普通的RGB图像来处理。结果生成的图像色彩完全错乱&#xff0c;红色变成了诡异的紫色&#xff0…...

Modelsim10.5_se在Win11系统下的安装与破解全流程指南

1. Modelsim10.5_se简介与准备工作 Modelsim10.5_se是Mentor Graphics&#xff08;现为Siemens EDA&#xff09;推出的一款专业级HDL仿真工具&#xff0c;主要用于数字电路设计中的Verilog和VHDL代码仿真。作为学生版&#xff08;SE&#xff09;&#xff0c;它保留了核心仿真功…...

探索全局路径规划算法与 DWA 算法融合实现动态避障

各种全局路径规划算法与DWA算法的融合实现动态避障在机器人运动规划领域&#xff0c;如何让机器人在复杂且动态变化的环境中安全、高效地到达目标点&#xff0c;一直是研究的热点。其中&#xff0c;全局路径规划算法为机器人规划出从起点到终点的大致路线&#xff0c;而动态窗口…...

CD22(B细胞抑制分子):免疫调控机制、药物研发进展与技术展望

CD22&#xff08;Cluster of Differentiation 22&#xff09;&#xff0c;又称Siglec-2&#xff0c;是一种主要表达于成熟B淋巴细胞表面的跨膜糖蛋白&#xff0c;属于唾液酸结合免疫球蛋白样凝集素&#xff08;Siglec&#xff09;家族。作为B细胞受体&#xff08;BCR&#xff0…...

Lychee模型在金融领域的应用:财报图文智能分析

Lychee模型在金融领域的应用&#xff1a;财报图文智能分析 1. 引言 金融分析师每天都要面对海量的财报文档&#xff0c;其中包含大量的表格、图表和文字说明。传统的人工分析方式不仅效率低下&#xff0c;还容易因为疲劳导致关键信息遗漏。一份典型的上市公司年报可能包含上百…...

纯文本微调骗了我们多久?信息论视角揭开图大模型的对齐伪像与破局之道

在当前将大语言模型引入图学习领域的浪潮中&#xff0c;图符号化大语言模型 是目前的主流范式。它们的标准做法是将复杂的图结构和节点文本属性编码成一个图标记序列&#xff0c;将其作为前缀输入基座大模型&#xff0c;最后利用基于文本的节点分类等指令进行自回归微调。然而&…...

Verify与CI/CD集成:自动化快照测试在GitHub Actions中的最佳实践

Verify与CI/CD集成&#xff1a;自动化快照测试在GitHub Actions中的最佳实践 【免费下载链接】Verify Verify - 一个快照工具&#xff0c;用于简化复杂数据模型和文档的断言&#xff0c;适合从事自动化测试和持续集成/持续部署(CI/CD)的程序员。 项目地址: https://gitcode.c…...

Jimeng AI Studio实战案例:个人工作室AI影像流水线搭建与效率提升50%

Jimeng AI Studio实战案例&#xff1a;个人工作室AI影像流水线搭建与效率提升50% 如果你是一个小型设计工作室的负责人&#xff0c;或者是一个独立的内容创作者&#xff0c;每天被海量的图片需求淹没——社交媒体配图、产品展示、营销海报、概念设计……你可能会发现&#xff…...

GHelper:华硕笔记本性能调控的轻量革命

GHelper&#xff1a;华硕笔记本性能调控的轻量革命 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: https://git…...