//第一种方法:
#include <stdio.h>
void reverse(int *p,int len)
{int *start = p;int *end = p + len - 1;int tmp = 0;while (start < end){if ((*start) % 2 == 1){start++;}else{if ((*end % 2 == 0)){end--;}else{tmp = *start;*start = *end;*end = tmp;}}}
}
int main()
{int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int len = sizeof(arr) / sizeof(arr[0]);reverse(arr,len);int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr[i]);}return 0;
}//第二种方法:
#include <stdio.h>
void swap(int *pa, int*pb)
{int tmp = *pa;*pa = *pb;*pb = tmp;
}
int main()
{int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };int left = 0;int right = sizeof(arr) / sizeof(arr[0])-1;while (left < right){while ((left < right) && (arr[left] % 2 == 1)){left++;}while ((left < right) && (arr[right] % 2 == 0)){right--;}if (left < right){swap(&arr[left], &arr[right]);left++;right--;}  } int i = 0;for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++){printf("%d ", arr[i]);}printf("\n");return 0;
}

转载于:https://blog.51cto.com/10706198/1710578

使数组中奇数位于偶数前面相关推荐

  1. 将下列数组中奇数和偶数分别存放于两个不同的两个数组

    将下列数组中奇数和偶数分别存放于两个不同的两个数组 /* * 将下列数组中奇数和偶数分别存放于两个不同的两个数组 * */ public class Test09 {public static voi ...

  2. 剑指offer之使数组的奇数在偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路 归并排序相对顺 ...

  3. 区分数组中奇数和偶数

    算法思想放在排序算法里了 直接上代码(C++): #include <iostream>using namespace std;//分类数组 void DesSort(int arr[], ...

  4. 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数

    一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...

  5. 剑指offer:面试题21. 调整数组顺序使奇数位于偶数前面

    题目:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4 ...

  6. java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面

    LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入 ...

  7. 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java

    <LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...

  8. 面试 6:调整数组顺序使奇数位于偶数前面

    今天给大家带来的是 <剑指 Offer>习题:调整数组顺序使奇数位于偶数前面,纯 Java 实现希望大家多加思考. 面试题:输入一个整型数组,实现一个函数来调整该数组中的数字的顺序,使得所 ...

  9. 【编程题目】调整数组顺序使奇数位于偶数前面

    54.调整数组顺序使奇数位于偶数前面(数组). 题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分, 所有偶数位于数组的后半部分.要求时间复杂度为 O(n). 小题,秒灭. ...

最新文章

  1. Generative Adversarial Text to Image Synthesis --- 根据文字描述生成对应的图片
  2. ​shell-7.shell 字符串的使用
  3. 052_Unicode字符官方标准三
  4. linux内置变量大全,Linux进阶之bash编程四(内置变量)
  5. 自主可控芯片多路服务器,中国国防领域最高水准自主可控多单元服务器亮相
  6. verp中joint的type、模式的区别
  7. DBA/运维人员近期直播活动日历
  8. 为什么都建议学java而不是python-现在学Python还是Java好呢?
  9. 9.2 定义和浏览翻译
  10. VS2017插件工具-VisualSVN(6.3.0)-破解之法
  11. python制作奖状,从excel表格中导出数据,取前20名,做成png奖状,再放入ppt中
  12. 怎样在WORD里输入国际音标
  13. 量化交易入门,看这篇就够了
  14. 苹果Mac电脑的复制粘贴不能用了
  15. 角色个人属性英文缩写
  16. 扫码点餐有哪些优势?
  17. Flappy bird制作过程
  18. 【kafka】kafka创建topic如何确定分区,如何计算kafka机器台数
  19. 两年前华为手机型号_两年前
  20. FPGA入门系列12--RAM的使用

热门文章

  1. 让更多人能够使用Hadoop
  2. hibernate要点
  3. 中兴通讯ZXR10 T40G交换机telnet配置
  4. windows连接linux系统telnet端口23无法连接的问题
  5. Java并发编程实战系列10之避免活跃性危险
  6. 启动LINUX系统后,进入图形化界面的命令
  7. linux的运维管理UNIT3
  8. 用js判断时间的先后顺序
  9. Linux学习笔记——Linux磁盘管理
  10. 2012 AndroidWorld Global Developers Conference