`
zhongkem
  • 浏览: 152486 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

数组中奇偶数分离

J# 
阅读更多

一个数组有奇数也有偶数,把所有奇数放到数组的左边,所有偶数移到数组的右边
解法比较简单,从左边找到第一个偶数,再从右边找到第一个奇数,两者交换。类似是快速排序的实现

public class OddEvenDivide {

	public static void main(String[] args) {		
		int [] a={5,10,26,32,41,7,9,8,4,12,1};;
		System.out.println(divideOddEven(a));
		for(int k:a)System.out.print(k+" ");
	}

	//返回值是奇数的个数
	public static int divideOddEven(int [] a){
		int i,j;
		for(i=0,j=a.length-1;i<j;i++,j--){
			//从左到数找到第一个偶数
			while(i<j){
				if(isOdd(a[i]))i++;
				else break;
			}
			//从右往左找,找到第一个奇数
			while(i<j){
				if(isOdd(a[j]))break;
				else j--;
			}
			//交换
			swap(a,i,j);
		}
		return i+1;
	}
	//交换数组中的两个元素的值
	private static void swap(int[] a, int i, int j) {
		int temp=a[i];
		a[i]=a[j];
		a[j]=temp;
		
	}
	//判断一个数是否为奇数
	private static boolean isOdd(int i) {
		// TODO Auto-generated method stub
		return 1==(i&0x01);//二进制最后一位为1的就是奇数
	}
}

 

分享到:
评论

相关推荐

    汇编语言统计数组中奇数个数并存入eax

    是用子程序统计数组中奇数个数并存入eax

    labview数组中统计奇偶计数.vi

    labview统计数组中奇数偶数个数,利用移位寄存器,用labview编写的奇偶计数程序,把第i次循环执行的结果作为第i+1次循环的输入,LabVIEW循环结构中的移位寄存器可以实现这种功能。

    C#各种数组的用法实例演示

    //一维数组用法:计算数组中奇偶数的个数 Console.WriteLine(一维数组演示:一维数组中的奇偶数个数); int[ ] arr1 = new int[ ] {8, 13, 36, 30, 9, 23, 47, 81 }; int odd = 0; int even

    计算机c语言考试

    **题目背景**:本题考查了数组中奇偶数求和的基本技能。要求编写一个函数`fun(int *a, int n, int *odd, int *even)`,该函数的功能是计算数组中所有奇数之和以及所有偶数之和,并通过指针`odd`和`even`返回结果。 ...

    南开一百题最终word版

    #### 题目3: 求数组中奇偶数之和 **知识点:** 数组操作、条件判断、指针传递 **描述:** 编写函数`fun(int *a, int n, int *odd, int *even)`,用于计算数组中所有奇数和偶数的总和。 **代码解析:** ```c fun(int...

    数组的基本概念和基本操作1

    7. `OddNumber(const int A[], int n)`:返回数组`A`中奇数的数量。 8. `OddNumerArray(const int A[], int B[], int n)`:将`A`数组中的奇数存储到`B`数组,并返回`B`的长度。 9. `Find(const int A[], int n, int ...

    VB6.0实现彩票36选7选号程序.rar

    VB6.0实现彩票36选7选号程序...放到一个新的二维数组中奇号个数,0-7  参数:二维数组(),存放一注号码,7个  返回值:奇号的个数,一个Variant数组,里面分别是每注的奇数的个数  UBound(Num, 1) 第一维是注数

    中奇打印机驱动

    《中奇打印机驱动详解与应用指南》 在IT领域,硬件设备的正常运行离不开相应的驱动程序支持,打印机作为办公和商业环境中不可或缺的一部分,其驱动程序的重要性不言而喻。本文将详细探讨“中奇打印机驱动”这一主题...

    C语言程序设计-编写函数求1~100中奇数的平方和结果为166650.000000.c

    C语言程序设计-编写函数求1~100中奇数的平方和结果为166650.000000.c

    C语言上机南开一百题题干及答案

    #### 题目3:计算数组中奇偶数之和 **题目描述**: 编写一个函数`fun(int *a, int n, int *odd, int *even)`,该函数的功能是计算传入数组中所有奇数之和及所有偶数之和。其中`n`表示数组中数据的个数,`odd`用于...

    小学数学人教版五年下册奇数与偶数问题练习大全.pdf

    - 题目7,1到100中奇数有50个,偶数也有50个,11+12+...+90的和是偶数,因为它是偶数个奇数和偶数相加。 - 题目8,投篮球得分总和的奇偶性取决于进球次数,每10次投篮得分和是偶数,所以总和也是偶数。 - 题目9,...

    关于奇偶页码不同的设置方法

    在 WPS 中,如果需要双面打印,那么需要在奇数页的左侧和偶数页的右侧添加装订线。装订线的真正的作用是在正反面打印时,它在奇数页的左侧,偶数页的右侧,靠向书脊。 三、WPS 中的页码设置 在 WPS 中,页码设置是...

    c#1.zip_300_C#_chairqsr

    2、统计 4×5 二维数组(数组中的数据为随机产生的 10~99 之间的整数)中奇数的个数和偶数的个数 3、创建一个结构类型数组用于存放学生信息(学号、姓名、出生日期和成绩),编程输入 5 个学生的相关数据, 然后按...

    奇偶数个数等六个小程序_C++

    3. **计算数列中奇偶数个数**: 这个程序需要遍历一个数列,统计其中奇数和偶数的数量。这涉及到条件判断(如`if`语句)和计数器的使用。理解如何根据数字的余数(模运算 `%`)来判断其奇偶性是解决问题的关键。 4...

    c代码-9. 功能:用while语句计算1—n中的奇数之和及偶数之和。

    在这个特定的编程任务中,我们要利用while语句来计算1到n之间所有奇数和偶数的总和。这个过程涉及到对整数的判断、循环控制以及变量的累加操作。下面我们将详细探讨这些知识点。 1. **while循环**: while循环的...

    1.认识复杂度和简单排序算法1

    在寻找数组中奇数次出现的数时,可以利用异或的性质来实现,时间复杂度为O(N),空间复杂度为O(1)。 接下来我们讨论几种简单的排序算法: 1. **选择排序**:它以O(N^2)的时间复杂度工作,通过每次找到未排序部分的...

    绘制三次b样条曲线的MATLAB代码-Introduction-to-MATLAB-Octave-and-Numerical-Methods-

    绘制三次b样条曲线的MATLAB代码储存库内容: ...13.练习6:查找数组中奇数个数。 14.Exercise7:创建一个填充有2的矩阵。 15.Exercise8:连接两个字符串。 16.Exercise9:创建一个包含3个字段的对象。 17.T

    习题4及其解答(第二版).doc

    1. 这段代码用于计算数组a中奇数的平均值。数组`a`包含1到10,其中偶数会被跳过。因此,sum为所有奇数之和(1 + 3 + 5 + 7 + 9),conut为奇数的个数(5)。平均值`average`是`sum/conut`,所以结果是`conut = 5` 和...

    python 求1-100之间的奇数或者偶数之和的实例

    如下所示: i=0 sum1=0 sum2=0 ...以上这篇python 求1-100之间的奇数或者偶数之和的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:

    小学数学奇偶数PPT学习教案.pptx

    本文将深入探讨小学数学中奇偶数的定义、性质以及如何在实际问题中应用这些知识,结合一份精心设计的PPT学习教案来展开讨论。 首先,我们从奇偶数的定义入手。在小学数学中,奇偶数的概念是直观而基础的。奇数是指...

Global site tag (gtag.js) - Google Analytics