学会分析问题,画出分析图,解释问题过程,找出规律 ;整数数组分为左右2个部分,左边位奇数右边偶数
// 整数数组左边是奇数右边是偶数.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include<stdio.h>
void swap(int& a,int& b)
{int temp=a;a=b;b=temp;
}
int main(int argc, char* argv[])
{int a[7]={1,2,3,4,5,6,7};int m=7;int n=m-1;int left=0;int right=n;while(left<right){while(left<right){if(a[left]%2==1)left++;elsebreak;}while(left<right){if(a[right]%2==0)right--;elsebreak;}swap(a[left],a[right]);left++,right--;}for(int i=0;i<7;i++)printf("%d ",a[i]);printf("Hello World!\n");return 0;
}
(1)重要是学会分析问题,才是最根本!!!!
学会分析问题,画出分析图,解释问题过程,找出规律
(2)其实,黄丽韵在《算法设计与分析》中说过:::遇到问题考虑以前是否有类似的问题吗??80%的问题都有人解决过!!!!!这个题循环过程 和 严蔚敏,李冬梅老师的快速排序划分过程相似吗??????
这就是分类总结!!!!!!!
int Partition(SqList *L,int low,int high)
{/* 交换顺序表L中子表的记录,使枢轴记录到位,并返回其所在位置,此时在它之前(后)均不大(小)于它。*/int pivotkey;pivotkey=L->r[low]; /* 用子表的第一个记录作枢轴记录 */while(low<high) /* 从表的两端交替地向中间扫描 */{ while(low<high&&L->r[high]>=pivotkey)high--;swap(L,low,high); /* 将比枢轴记录小的记录交换到低端 */while(low<high&&L->r[low]<=pivotkey)low++;swap(L,low,high); /* 将比枢轴记录大的记录交换到高端 */}return low; /* 返回枢轴所在位置 */
}
/* 对顺序表L作快速排序 */
void QuickSort(SqList *L)
{ QSort(L,1,L->length);
}/* 对顺序表L中的子序列L->r[low..high]作快速排序 */
void QSort(SqList *L,int low,int high)
{ int pivot;if(low<high){/* 将L->r[low..high]一分为二,算出枢轴值pivot */pivot=Partition(L,low,high); QSort(L,low,pivot-1); /* 对低子表递归排序 */QSort(L,pivot+1,high); /* 对高子表递归排序 */}
}int Partition(SqList *L,int low,int high)
{/* 交换顺序表L中子表的记录,使枢轴记录到位,并返回其所在位置,此时在它之前(后)均不大(小)于它。*/int pivotkey;pivotkey=L->r[low]; /* 用子表的第一个记录作枢轴记录 */while(low<high) /* 从表的两端交替地向中间扫描 */{ while(low<high&&L->r[high]>=pivotkey)high--;swap(L,low,high); /* 将比枢轴记录小的记录交换到低端 */while(low<high&&L->r[low]<=pivotkey)low++;swap(L,low,high); /* 将比枢轴记录大的记录交换到高端 */}return low; /* 返回枢轴所在位置 */
}
相关文章:

学会分析问题,画出分析图,解释问题过程,找出规律 ;整数数组分为左右2个部分,左边位奇数右边偶数
// 整数数组左边是奇数右边是偶数.cpp : Defines the entry point for the console application. //#include "stdafx.h" #include<stdio.h> void swap(int& a,int& b) {int tempa;ab;btemp; } int main(int argc, char* argv[]) {int a[7]{1,2,3,4,5,…...
数学基础 -- 线性代数正交多项式之勒让德多项式展开推导
勒让德多项式展开的详细过程 勒让德多项式是一类在区间 [ − 1 , 1 ] [-1, 1] [−1,1] 上正交的多项式,可以用来逼近函数。我们可以将一个函数表示为勒让德多项式的线性组合。以下是如何推导勒让德多项式展开系数 a n a_n an 的详细过程。 1. 勒让德展开的基本…...

Redis实战宝典:从主从模式、哨兵模式、集群模式一步步理解Redis集群
目录标题 Redis 集群的三种模式主从复制主从复制概念主从复制原理主从复制优缺点 哨兵集群哨兵概念哨兵功能下线判断主库选举故障转移哨兵模式优缺点 Cluser 集群Redis 集群的数据分片 Redis 集群的三种模式 在生产环境中,我们使用 Redis 通常采用集群模式…...

828华为云征文|华为云Flexus X搭建借贷管理系统、二次开发借贷小程序 前端源码uniapp
在华为云828 B2B企业节的盛宴中,Flexus X实例以其卓越的算力性能和灵活的资源配置脱颖而出。对于追求极致性能、渴望在借贷管理、电商交易等场景中脱颖而出的您来说,Flexus X无疑是最佳拍档。搭载创新加速引擎,让您的自建MySQL、Redis、Nginx…...

网站安全需求分析与安全保护工程
网站安全威胁与需求分析 网站安全概念 网站:是基于B/S技术架构的综合信息服务平台,主要提供网页信息及业务后台对外接口服务。 网站安全性: 机密性:网站信息及相关数据不被授权查看或泄露完整性:网站信息及数据不能…...

后谷歌时代
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

【CMake编译报错小复盘】CMAKE_CUDA_ARCHITECTURES,CMake version,GCC version问题
今天在写大模型量化推理框架时遇到了一些编译上的错误,简单复盘一下问题和解决方案: 问题1:CMAKE_CUDA_ARCHITECTURES 报错信息: CMake Error: CMAKE_CUDA_ARCHITECTURES must be non-empty if set cmake和cuda相关的报错通常都…...

PMP--一、二、三模--分类--14.敏捷--技巧--DoDDoR
文章目录 技巧DoD&DoR 二模14.敏捷--术语表--完成的定义DoD--Definition of Done--是指一个项目什么时候可以被认为是“完成”的标准,它可以包括各种质量和功能的具体要求。--它是团队需要满足的所有标准的核对单,只有可交付成果满足该核对单才能视为…...
【大数据】如何读取多个Excel文件并计算列数据的最大求和值
导语: 在数据分析和处理中,我们经常需要从多个Excel文件中提取数据并进行计算。本文将带您通过一个实用的Python教程,学习如何读取D盘目录下特定文件夹内的多个Excel文件,并计算特定列数据的最大求和值。 文章目录 一、准备工作二…...
【运维项目经历|043】上云项目-服务从物理机迁移到AWS云服务器
🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 文章目录 项目名称项目背景项目目标项目成…...

【OpenCV】灰度化和二值化处理图像
文章目录 1. 图像灰度化处理对比2. 代码示例3. 二值化处理 1. 图像灰度化处理对比 2. 代码示例 #include <opencv2/opencv.hpp> using namespace cv;int main() {Mat currentImage imread("path_to_image.jpg"); // 读取彩色图像Mat grayImage;// 将彩色图像…...

【生命不息,动出奇迹!】多系统萎缩患者必看
亲爱的朋友们,当我们面对生活的挑战,尤其是像多系统萎缩(MSA)这样的复杂疾病时,保持乐观与积极,寻找适合自己的锻炼方式显得尤为重要!💪 MSA虽然会影响身体的多个系统,包…...
Verilog FPGA 仿真 控制任务
在Verilog仿真中,我们可以使用一些控制语句和系统任务来管理仿真过程。这些语句和任务可以帮助我们控制仿真的进行并输出必要的信息。 1. $stop:这是一个系统任务,用于停止运行仿真。在ModelSim中,可以继续仿真。 2. $stop(n)&…...
在Vision Pro上实现五子棋、益智休闲游戏:一个可二次开发的框架
苹果Vision Pro平台的推出,空间计算技术迎来了新的发展机遇。在这一背景下,物流游戏(Logistics Game)作为一个为Vision Pro平台量身打造的空间计算战略游戏,不仅展示了空间计算的魅力,也为开发者提供了一个可参考的框架。本文将介绍物流游戏的核心玩法,并总结其开发过程…...

使用 `Vitesse Uni App` 创建微信小程序并配置 uview-plus 和 alovajs
使用 Vitesse Uni App 创建微信小程序 Vitesse Uni App:https://vitesse-docs.netlify.app/ UI:https://uview-plus.jiangruyi.com/components/intro.html 编辑器:VScode 安装 Volar(Vue Offices)插件 创建项目 pnpm …...
C#迭代器和接口IEnumerable,IEnumerator
一.迭代器 学过C的都知道,迭代器是STL中的一个类,用来遍历容器。 vector<int>::iterator iter; for (iter v1.begin(); iter ! v1.end(); iter) C#中迭代器也是用来遍历集合,本质上是一个类/接口(IEnumerator),可以解决…...

通信工程学习:什么是IP-CAN(IP连接接入网)
IP-CAN:IP连接接入网 IP-CAN(IP连接接入网)是一个通过IP实现用户设备(UE)与IP多媒体子系统(IMS)实体之间连通的网络实体和接口的集合。以下是对IP-CAN的详细解释: 一、定义与概述 1…...

使用 MongoDB 构建 AI:Patronus 如何自动进行大语言模型评估来增强对生成式 AI 的信心
大语言模型可能不可靠,这几乎算不上头条新闻。对于某些用例,这可能会带来不便。而对于其他行业,尤其是受监管行业,后果则要严重得多。于是,业内首个大语言模型自动评估平台 Patronus AI 应运而生。 Patronus AI 由 Met…...
openpose1.7.0编译 cuda12.2 cudnn 8.9.7.29 python3.7
参考链接: openpose(windows11)安装及常见问题及解决方案_openpose windows-CSDN博客 openpose笔记--Win11编译安装OpenPose(Python API)_openpose安装-CSDN博客 https://zhuanlan.zhihu.com/p/383661308 遇到问题: 1、cmake时,手动设置…...
【华为OD流程】性格测试选项+注意事项
可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 相关推荐阅读性格测试形式性格测试题型性格测试原则性格测试一致性性格测试选项举例最合适的性格适中的性格不适合的性格答题方法分享特别注意华为OD算法/大厂…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
41道Django高频题整理(附答案背诵版)
解释一下 Django 和 Tornado 的关系? Django和Tornado都是Python的web框架,但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架,鼓励快速开发和干净、实用的设计。它遵循MVC设计,并强调代码复用。Django有…...