已知数组A[1..n]中元素类型为非负整数,设计算法将其调整为左右两部分,左边所有为奇数,右边所有为偶数,并要求算法的时间复杂度为O(n)
//左边奇数右边偶数
void Swap(int* a, int* b) {int tmp = *b;*b = *a;*a = tmp;
}
void LeftRight(int arr[],int n) {int i = 0;int j = n - 1;while(i<j){if (arr[i] % 2 == 0 && arr[j] % 2 == 1) {Swap(&arr[i], &arr[j]);i++;j--;}else if (arr[i] % 2 == 1 && arr[j]%2== 1) {i++;}else if (arr[i] % 2 == 0 && arr[j]%2== 0) {j--;}else if (arr[i] % 2 == 1 && arr[j]%2== 0) {i++;j--;}}
}
int main()
{int arr[20] = { 0 };//默认最大输入长度不超过20int n = 0;printf("请输入数组长度n:");scanf("%d", &n);int i = 0;printf("\n请输入数组数据:");for (i = 0;i < n;i++){scanf("%d", &arr[i]);}printf("\n调整后的数组为:");LeftRight(arr, n);for (i = 0;i < n;i++){printf("%d ", arr[i]);}
}

相关文章:
已知数组A[1..n]中元素类型为非负整数,设计算法将其调整为左右两部分,左边所有为奇数,右边所有为偶数,并要求算法的时间复杂度为O(n)
//左边奇数右边偶数 void Swap(int* a, int* b) {int tmp *b;*b *a;*a tmp; } void LeftRight(int arr[],int n) {int i 0;int j n - 1;while(i<j){if (arr[i] % 2 0 && arr[j] % 2 1) {Swap(&arr[i], &arr[j]);i;j--;}else if (arr[i] % 2 1 &…...
ssm+vue的罪犯信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
演示视频: ssmvue的罪犯信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…...
Java/Android 各类型数据构造和各类型数据解析
Java/Android 各类型数据构造和各类型数据解析 1.如何构造/解析{"key":"value","key":"value","key":"value"}jsonString1)json解析2)fastjson解析3)Gson解析4)遍历key值解析2.如何构造/解析[{"key&q…...
Linux系统---环境变量+内核进程调度队列(选学)
顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、环境变量 1.基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,…...
Kubernetes 使用插件扩展 kubectl
例子演示 编写 kubectl-foo ,拷贝至 /usr/local/bin/ #!/bin/bash# 可选的参数处理 if [[ "$1" "version" ]] thenecho "1.0.0"exit 0 fi# 可选的参数处理 if [[ "$1" "config" ]] thenecho $KUBECONFIGexit…...
前端面试题09
74、定义类的方法有哪些 在JavaScript中,定义类的方法有以下几种方式: 1.使用函数声明: function MyClass() {// constructor } MyClass.prototype.methodName function() {// method body };2.使用类的方法缩写(ES6引入&…...
网站更换IP的四大注意事项
1.对网站当中的数据进行备份 网站更换IP时可以将页面的数据库文件和站点文件通过下载工具在本地完成备份。 2.更换解析域名 从站点域名管理后台当中更换域名地址,改为新的IP地址。 3.确保IP安全 在用户更换IP前一定要确定IP是否安全,一旦IP存在不良…...
策略模式与简单工厂模式:终结if-else混乱,让代码更清爽
阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概4500多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…...
TCP三次握手过程
什么是TCP tcp是一个面向连接的、可靠的、基于字节流的传输层通信协议 面向连接:TCP连接是一对一的,不能实现一对多或多对一,TCP在通信前要首先建立连接,连接成功后才能开始进行通信可靠的:TCP连接要保证通信过程的可靠…...
04-配置远程仓库的SSH免密登陆
配置SSH免密登录 配置步骤 创建好的远程仓库也可以使用SSH的方式进行访问,但如果没有配置公钥会有警告 第一步: 删除用户家目录下的.ssh目录,如果没有该目录或者该目录下已经有密钥了就不用执行该操作 #进入当前用户的家目录,删除.ssh 目录 LayneLAPTOP-Layne MINGW64 ~ $ r…...
【中文编码】利用bert-base-chinese中的Tokenizer实现中文编码嵌入
最近接触文本处理,查询了一些资料,记录一下中文文本编码的处理方法吧。 先下载模型和词表:bert-base-chinese镜像下载 如下图示,下载好的以下文件均存放在 bert-base-chinese 文件夹下 1. 词编码嵌入简介 按我通俗的…...
一文解决msxml3.dll文件缺失问题,快速修复msxml3.dll
在了解问题之前,我们必须首先清楚msxml3.dll到底是什么。DLL(Dynamic Link Libraries)文件是Windows操作系统使用的一个重要组成部分,用于存储执行特定操作或任务的代码和数据。msxml3.dll为Windows系统提供处理XML文档的功能。如…...
《React 知识点》第一篇 大括号使用{}
简介 大括号 " {} "可以用于包裹JavaScript的表达式或语句。以便在jsx中动态生成内容。 插入变量与表达式 function expressionTest() {const name "变量测试";return (<p><div>{name}</div><div>表达式 210 {2 100}</div…...
kafka入门(二): 位移提交
位移提交: Kafka的每条消息都有唯一的 offset, 用来表示消息在分区中对应的位置。有的也称之为 “偏移量”。 消费者每次在 poll() 拉取消息,它要返回的是还没有消费过的消息集, 因此,需要记录上一次消费时的消费位…...
PG时间计算
PG数据库,时间计算使用场景总结 日期之差 --**获取秒差** SELECT round(date_part(epoch, TIMESTAMP 2019-05-05 12:11:20 - TIMESTAMP 2019-05-05 10:10:10)); --**获取分钟差** SELECT round(date_part(epoch, TIMESTAMP 2019-05-05 12:11:20 - TIMESTAMP 20…...
基于51单片机的交通灯_可调时间_夜间+紧急模式
51单片机交通灯 1 讲解视频:2 功能要求3 仿真图:4 原理图PCB5 实物图6 程序设计:7 设计报告8 资料清单(提供资料清单所有文件):设计资料下载链接: 51单片机简易交通灯_可调时间_夜间紧急 仿真代…...
网络通信原理,进制转化总结
来源,做个笔记,讲的还蛮清楚通信原理-2.5 数据封装与传输05_哔哩哔哩_bilibili ip地址范围...
西南科技大学(数据结构A)期末自测练习三
一、填空题(每空1分,共10分) 1、为解决计算机主机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区。主机将要输出的数据依次写入缓冲区,打印机则依次从缓冲区中取出数据,则该换缓冲区的逻辑结构…...
【halcon】裁剪
前言 目前我遇到的裁剪相关的函数都是以clip打头的函数。一共4个: clip_end_points_contours_xldclip_contours_xldclip_regionclip_region_rel 前面两个是对轮廓的裁剪。 后面是对区域的裁剪。 裁剪轮廓的两端 clip_end_points_contours_xld 用于实现裁剪XLD…...
vue+less+style-resources-loader 配置全局颜色变量
全局统一样式后,可配置vue.config.js实现全局颜色变量,方便在编写时使用统一风格的色彩 一、新建global.less 二、下载安装style-resources-loader npm i style-resources-loader --save-dev三、在vue.config.js中进行配置 module.exports {pluginOpt…...
PDFKit核心源码分析:揭秘HTML到PDF的转换魔法
PDFKit核心源码分析:揭秘HTML到PDF的转换魔法 【免费下载链接】pdfkit A Ruby gem to transform HTML CSS into PDFs using the command-line utility wkhtmltopdf 项目地址: https://gitcode.com/gh_mirrors/pdfk/pdfkit PDFKit是一款强大的Ruby gem&#…...
AI赋能开发:在快马平台让qun329数据处理更智能
在开发过程中,处理复杂数据是每个开发者都会遇到的挑战。最近我在做一个名为qun329的数据处理项目时,就遇到了数据异常检测、缺失值填充和性能优化等一系列问题。幸运的是,通过InsCode(快马)平台的AI辅助开发功能,这些问题都得到了…...
高新申报通关指南:资深工程师手把手教你准备全套材料(附清单)
高新技术企业认定不仅是企业税负减免的“金钥匙”,更是研发实力与技术体系的重要证明。很多技术人员觉得这只是财务或行政的事,但实则技术材料的质量直接决定了申报成败。 一、 基础资质与人员结构 这部分是申报的“地基”,务必确保真实且符合…...
AI转PSD终极指南:如何将Illustrator矢量完美导入Photoshop
AI转PSD终极指南:如何将Illustrator矢量完美导入Photoshop 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 还在为设计软件之间的格…...
机械识图:半剖视图
当机件具有中间平面时,在垂直于中间平面的投影面上投射所得到的视图,可以对称中心线为界,一半画成部视,另一半画成视图,这样组合成的图形称为半剖视图。半剖视图既能表达零件的内部形状,又能反映零件的外部…...
如何使用Unlocker工具在VMware中启用macOS虚拟机支持
如何使用Unlocker工具在VMware中启用macOS虚拟机支持 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker Unlocker是一款开源工具,能够帮助用户在VMware虚拟机软件中解锁对macOS操作系统的支持。…...
ai赋能硬件仿真:让快马平台理解你的设计意图,自动生成proteus项目
最近在做一个智能光控系统的硬件仿真项目,发现用AI辅助开发可以大幅提升效率。这里分享一下如何利用InsCode(快马)平台的AI能力,快速生成Proteus仿真项目的过程。 项目需求分析 首先需要明确系统功能:通过光敏电阻检测环境亮度,结…...
新手零障碍入门:用快马ai生成即开即用的python学习环境
最近在教朋友学Python,发现新手最头疼的不是语法本身,而是配置开发环境。特别是用PyCharm时,光是解释器设置就能劝退一大半人。刚好发现InsCode(快马)平台能一键生成开箱即用的Python学习项目,试了试简直拯救了教学现场。 为什么环…...
小白程序员必看:收藏这份LangChain Agent开发指南,轻松入门大模型时代!
本文以LangChain框架为核心,详细介绍了如何开发AI Agent。内容涵盖模型调用、工具封装、会话记忆保存等基础功能,通过实操案例帮助读者理解Agent开发流程。LangChain简化了模型集成和工具调用,并提供了记忆模块支持多轮对话。文章适合想要入门…...
新手福音:通过快马AI生成代码学习下拉词功能实现原理
今天想和大家分享一个特别适合前端新手练手的小项目——实现一个基础的下拉词搜索框。这个功能看似简单,但涵盖了事件监听、数组过滤、DOM操作等前端开发的核心概念。我自己在学习过程中发现,通过实际动手实现一个小功能,比单纯看理论要容易理…...
