C语言第四十四弹---调整奇偶数顺序

简介: C语言第四十四弹---调整奇偶数顺序

使用C语言实现调整奇偶数顺序

思路:通过循环分别找到奇数和偶数,并实现位置交换,需要进行多次交换,循环外层需要添加一个循环。

代码如下

#include <stdio.h>
void Swap_Parity(int arr[], int sz)
{
  int left = 0;
  int right = sz - 1;
  while (left < right)
  {
    //寻找偶数
    while (left < right)
    {
      if (arr[left] % 2 == 0)
      {
        break;//找到第一个偶数 停止该循环
      }
      else
      {
        left++;//未找到继续寻找
      }
    }
    //寻找奇数
    while (left < right)
    {
      if (arr[right] % 2 == 1)
      {
        break;//找到第一个奇数 停止该循环
      }
      else
      {
        right--;//未找到继续寻找
      }
    }
    //交换
    if (left < right)
    {
      int tmp = arr[left];
      arr[left] = arr[right];
      arr[right] = tmp;
    }
  }
}
int main()
{
  int arr[] = { 0,1,2,3,4,5,6,7,8,9 };
  int sz = sizeof(arr) / sizeof(arr[0]);
  Swap_Parity(arr, sz);
  for (int i = 0; i < sz; i++)//打印
  {
    printf("%d ", arr[i]);
  }
  return 0;
}

注意每次循环条件判断都必须控制left < right 防止越界和重复交换

相关文章
|
JSON 数据格式 Docker
ELK收集多个docker容器日志(十二)
filebeat收集容器日志 现在很多公司都是用docker容器来运行服务,一台机器上会有很多个docker,docker容器里面的日志也需要收集分析,filebeat也有docker容器的日志收集方案 官方配置地址https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-input-docker.html
980 0
ELK收集多个docker容器日志(十二)
|
存储 数据挖掘 OLAP
阿里云 EMR Serverless StarRocks OLAP 数据分析场景解析
阿里云 E-MapReduce Serverless StarRocks 版是阿里云提供的 Serverless StarRocks 全托管服务,提供高性能、全场景、极速统一的数据分析体验,具备开箱即用、弹性扩展、监控管理、慢 SQL 诊断分析等全生命周期能力。内核 100% 兼容 StarRocks,性能比传统 OLAP 引擎提升 3-5 倍,助力企业高效构建大数据应用。本篇文章对阿里云EMR Serverless StarRocks OLAP 数据分析场景进行解析、存算分离架构升级以及 Trino 兼容,无缝替换介绍。
19515 12
|
消息中间件 存储 Cloud Native
如何解决 Kafka 冷读副作用
AutoMQ,新一代云原生 Kafka,解决原 Kafka 的迁移复制低效、弹性不足和高成本问题。本文探讨 Kafka 的冷读(追赶读)副作用,如硬盘 I/O 争抢、Page Cache 污染和 Zero Copy 阻塞。Kafka 的冷读依赖本地存储,导致性能瓶颈。AutoMQ 通过对象存储实现冷热隔离,避免 I/O 争抢;自主管理内存,减少 Page Cache 污染;异步 I/O 响应网络层,提高效率。此外,AutoMQ 优化冷读性能,确保批处理和故障恢复时的高效运行。
288 2
|
机器学习/深度学习 数据采集 监控
基于Python的图像识别技术在智能安防系统中的应用
【5月更文挑战第30天】 在当今社会,随着人工智能技术的飞速发展,图像识别已经成为了一个重要的研究领域。本文将介绍基于Python的图像识别技术在智能安防系统中的应用,通过对深度学习模型的讲解和实例分析,展示了如何利用Python实现高效、准确的图像识别功能,为智能安防系统的设计和实现提供了有力的技术支持。
|
应用服务中间件 Linux nginx
蓝易云 - linux查看正在运行的nginx在哪个文件夹当中
请注意,这些步骤可能需要root权限才能执行。如果你没有root权限,你可能需要使用 `sudo`命令。
396 0
|
关系型数据库 分布式数据库 数据库
云原生数据库PolarDB快速入门实验
【2月更文挑战第2天】很基础的PolarDB入门操作实验考试,假期闲着无聊考着玩玩。云原生数据库 PolarDB MySQL 版是阿里云自研产品,100%兼容 MySQL。PolarDB产品具有多主多写、多活容灾、HTAP 等特性,交易性能最高可达开源数据库的6倍,分析性能最高可达开源数据库的400倍,TCO 低于自建数据库50%。
|
SQL 存储 编解码
Hive中的压缩技术是如何实现的?请解释其原理和常用压缩算法。
Hive中的压缩技术是如何实现的?请解释其原理和常用压缩算法。
230 0
|
SQL 安全 OLTP
OpenGauss入门教程
OpenGauss入门教程
1282 0
|
数据库 Windows 容器
Windows环境部署Oracle19C单机,手把手教你搭建
Windows环境部署Oracle19C单机,手把手教你搭建
1074 0
Windows环境部署Oracle19C单机,手把手教你搭建
|
JavaScript 前端开发
项目中的富文本编辑器该如何选择?
项目中经常需要用到富文本编辑器的时候,而常见的富文本编辑器都有哪些?该如何选择?
624 0
项目中的富文本编辑器该如何选择?