使数组中奇数位于偶数前面
//第一种方法:
#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
使数组中奇数位于偶数前面相关推荐
- 将下列数组中奇数和偶数分别存放于两个不同的两个数组
将下列数组中奇数和偶数分别存放于两个不同的两个数组 /* * 将下列数组中奇数和偶数分别存放于两个不同的两个数组 * */ public class Test09 {public static voi ...
- 剑指offer之使数组的奇数在偶数前面
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路 归并排序相对顺 ...
- 区分数组中奇数和偶数
算法思想放在排序算法里了 直接上代码(C++): #include <iostream>using namespace std;//分类数组 void DesSort(int arr[], ...
- 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数
一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...
- 剑指offer:面试题21. 调整数组顺序使奇数位于偶数前面
题目:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4 ...
- java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面
LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入 ...
- 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java
<LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...
- 面试 6:调整数组顺序使奇数位于偶数前面
今天给大家带来的是 <剑指 Offer>习题:调整数组顺序使奇数位于偶数前面,纯 Java 实现希望大家多加思考. 面试题:输入一个整型数组,实现一个函数来调整该数组中的数字的顺序,使得所 ...
- 【编程题目】调整数组顺序使奇数位于偶数前面
54.调整数组顺序使奇数位于偶数前面(数组). 题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分, 所有偶数位于数组的后半部分.要求时间复杂度为 O(n). 小题,秒灭. ...
最新文章
- Generative Adversarial Text to Image Synthesis --- 根据文字描述生成对应的图片
- ​shell-7.shell 字符串的使用
- 052_Unicode字符官方标准三
- linux内置变量大全,Linux进阶之bash编程四(内置变量)
- 自主可控芯片多路服务器,中国国防领域最高水准自主可控多单元服务器亮相
- verp中joint的type、模式的区别
- DBA/运维人员近期直播活动日历
- 为什么都建议学java而不是python-现在学Python还是Java好呢?
- 9.2 定义和浏览翻译
- VS2017插件工具-VisualSVN(6.3.0)-破解之法
- python制作奖状,从excel表格中导出数据,取前20名,做成png奖状,再放入ppt中
- 怎样在WORD里输入国际音标
- 量化交易入门,看这篇就够了
- 苹果Mac电脑的复制粘贴不能用了
- 角色个人属性英文缩写
- 扫码点餐有哪些优势?
- Flappy bird制作过程
- 【kafka】kafka创建topic如何确定分区,如何计算kafka机器台数
- 两年前华为手机型号_两年前
- FPGA入门系列12--RAM的使用