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

学会分析问题,画出分析图,解释问题过程,找出规律 ;整数数组分为左右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] 上正交的多项式&#xff0c;可以用来逼近函数。我们可以将一个函数表示为勒让德多项式的线性组合。以下是如何推导勒让德多项式展开系数 a n a_n an​ 的详细过程。 1. 勒让德展开的基本…...

Redis实战宝典:从主从模式、哨兵模式、集群模式一步步理解Redis集群

目录标题 Redis 集群的三种模式主从复制主从复制概念主从复制原理主从复制优缺点 哨兵集群哨兵概念哨兵功能下线判断主库选举故障转移哨兵模式优缺点 Cluser 集群Redis 集群的数据分片 Redis 集群的三种模式 在生产环境中&#xff0c;我们使用 Redis 通常采用集群模式&#xf…...

828华为云征文|华为云Flexus X搭建借贷管理系统、二次开发借贷小程序 前端源码uniapp

在华为云828 B2B企业节的盛宴中&#xff0c;Flexus X实例以其卓越的算力性能和灵活的资源配置脱颖而出。对于追求极致性能、渴望在借贷管理、电商交易等场景中脱颖而出的您来说&#xff0c;Flexus X无疑是最佳拍档。搭载创新加速引擎&#xff0c;让您的自建MySQL、Redis、Nginx…...

网站安全需求分析与安全保护工程

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

后谷歌时代

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

【CMake编译报错小复盘】CMAKE_CUDA_ARCHITECTURES,CMake version,GCC version问题

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

PMP--一、二、三模--分类--14.敏捷--技巧--DoDDoR

文章目录 技巧DoD&DoR 二模14.敏捷--术语表--完成的定义DoD--Definition of Done--是指一个项目什么时候可以被认为是“完成”的标准&#xff0c;它可以包括各种质量和功能的具体要求。--它是团队需要满足的所有标准的核对单&#xff0c;只有可交付成果满足该核对单才能视为…...

【大数据】如何读取多个Excel文件并计算列数据的最大求和值

导语&#xff1a; 在数据分析和处理中&#xff0c;我们经常需要从多个Excel文件中提取数据并进行计算。本文将带您通过一个实用的Python教程&#xff0c;学习如何读取D盘目录下特定文件夹内的多个Excel文件&#xff0c;并计算特定列数据的最大求和值。 文章目录 一、准备工作二…...

【运维项目经历|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;// 将彩色图像…...

【生命不息,动出奇迹!】多系统萎缩患者必看

亲爱的朋友们&#xff0c;当我们面对生活的挑战&#xff0c;尤其是像多系统萎缩&#xff08;MSA&#xff09;这样的复杂疾病时&#xff0c;保持乐观与积极&#xff0c;寻找适合自己的锻炼方式显得尤为重要&#xff01;&#x1f4aa; MSA虽然会影响身体的多个系统&#xff0c;包…...

Verilog FPGA 仿真 控制任务

在Verilog仿真中&#xff0c;我们可以使用一些控制语句和系统任务来管理仿真过程。这些语句和任务可以帮助我们控制仿真的进行并输出必要的信息。 1. $stop&#xff1a;这是一个系统任务&#xff0c;用于停止运行仿真。在ModelSim中&#xff0c;可以继续仿真。 2. $stop(n)&…...

在Vision Pro上实现五子棋、益智休闲游戏:一个可二次开发的框架

苹果Vision Pro平台的推出,空间计算技术迎来了新的发展机遇。在这一背景下,物流游戏(Logistics Game)作为一个为Vision Pro平台量身打造的空间计算战略游戏,不仅展示了空间计算的魅力,也为开发者提供了一个可参考的框架。本文将介绍物流游戏的核心玩法,并总结其开发过程…...

使用 `Vitesse Uni App` 创建微信小程序并配置 uview-plus 和 alovajs

使用 Vitesse Uni App 创建微信小程序 Vitesse Uni App&#xff1a;https://vitesse-docs.netlify.app/ UI&#xff1a;https://uview-plus.jiangruyi.com/components/intro.html 编辑器&#xff1a;VScode 安装 Volar&#xff08;Vue Offices&#xff09;插件 创建项目 pnpm …...

C#迭代器和接口IEnumerable,IEnumerator

一.迭代器 学过C的都知道&#xff0c;迭代器是STL中的一个类&#xff0c;用来遍历容器。 vector<int>::iterator iter; for (iter v1.begin(); iter ! v1.end(); iter) C#中迭代器也是用来遍历集合&#xff0c;本质上是一个类/接口(IEnumerator)&#xff0c;可以解决…...

通信工程学习:什么是IP-CAN(IP连接接入网)

IP-CAN&#xff1a;IP连接接入网 IP-CAN&#xff08;IP连接接入网&#xff09;是一个通过IP实现用户设备&#xff08;UE&#xff09;与IP多媒体子系统&#xff08;IMS&#xff09;实体之间连通的网络实体和接口的集合。以下是对IP-CAN的详细解释&#xff1a; 一、定义与概述 1…...

使用 MongoDB 构建 AI:Patronus 如何自动进行大语言模型评估来增强对生成式 AI 的信心

大语言模型可能不可靠&#xff0c;这几乎算不上头条新闻。对于某些用例&#xff0c;这可能会带来不便。而对于其他行业&#xff0c;尤其是受监管行业&#xff0c;后果则要严重得多。于是&#xff0c;业内首个大语言模型自动评估平台 Patronus AI 应运而生。 Patronus AI 由 Met…...

openpose1.7.0编译 cuda12.2 cudnn 8.9.7.29 python3.7

参考链接&#xff1a; openpose(windows11)安装及常见问题及解决方案_openpose windows-CSDN博客 openpose笔记--Win11编译安装OpenPose(Python API)_openpose安装-CSDN博客 https://zhuanlan.zhihu.com/p/383661308 遇到问题&#xff1a; 1、cmake时&#xff0c;手动设置…...

【华为OD流程】性格测试选项+注意事项

可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 相关推荐阅读性格测试形式性格测试题型性格测试原则性格测试一致性性格测试选项举例最合适的性格适中的性格不适合的性格答题方法分享特别注意华为OD算法/大厂…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...