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

调整奇数偶数顺序

调整数组使奇数全部都位于偶数前面。

题目:

输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。

 思路:

1. 给定两个下标left和right,left放在数组的起始位置,right放在数组中最后一个元素的位置
2. 循环进行一下操作a. 如果left和right表示的区间[left, right]有效,进行b,否则结束循环b. left从前往后找,找到一个偶数后停止c. right从后往前找,找到一个奇数后停止d. 如果left和right都找到了对应的数据,则交换,继续a,
#include <stdio.h>
#include <string.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int sz = sizeof(arr)/sizeof(arr[0]);int left = 0;//数组下标int right = sz - 1;int i = 0;while (left<right){//从前往后找一个偶数while ((left<right)&&(arr[left] % 2 != 0)){left++;}//从后往前找一个奇数while ((left < right)&&(arr[right] % 2 == 0)){right--;}//交换int tmp = arr[left];arr[left] = arr[right];arr[right] = tmp;left++;right--;}for (i = 0; i < sz; i++){printf("%d ", arr[i]);}return 0;
}

http://www.lryc.cn/news/117581.html

相关文章:

  • 日志的规范
  • Spring AOP(AOP概念,组成成分,实现,原理)
  • Android WebView简单应用:构建内嵌网页浏览功能
  • 并发——乐观锁常见的两种实现方式,乐观锁的缺点
  • Spring 事务管理
  • unity修改单个3D物体的重力的大小该怎么处理呢?
  • [Qt]FrameLessWindow实现调整大小、移动弹窗并具有Aero效果
  • 【API生命周期看护】API日落
  • PHP 使用ThinkPHP实现电子邮件发送示例
  • Leetcode-每日一题【剑指 Offer 18. 删除链表的节点】
  • [LINUX使用] top 命令的使用
  • 通过redis进行缓存分页,通过SCAN扫描进行缓存更新
  • C#小轮子 Debug,Release,发布模式如何运行不同的代码
  • 【【萌新的STM32 学习-6】】
  • “深入解析JVM:探索Java虚拟机的工作原理“
  • 【目标检测系列】YOLOV2解读
  • 【深入浅出程序设计竞赛(基础篇)第一章 算法小白从0开始】
  • openGauss学习笔记-36 openGauss 高级数据管理-TRUNCATE TABLE语句
  • ChatGPT生成文本检测器算法挑战大赛
  • O2OA开发平台实施入门指南
  • 服装行业多模态算法个性化产品定制方案 | 京东云技术团队
  • MySQL表空间结构与页、区、段的定义
  • RaabitMQ(三) - RabbitMQ队列类型、死信消息与死信队列、懒队列、集群模式、MQ常见消息问题
  • Unity3D GPU Selector/Picker
  • 灰度非线性变换之c++实现(qt + 不调包)
  • 轻量级Web框架Flask
  • 【gridsample】地平线如何支持gridsample算子
  • JPA实现存储实体类型信息
  • 阿里云快速部署开发环境 (Apache + Mysql8.0+Redis7.0.x)
  • 语音秘书:让录音转文字识别软件成为你的智能工作助手