一个数组有奇数也有偶数,把所有奇数放到数组的左边,所有偶数移到数组的右边
解法比较简单,从左边找到第一个偶数,再从右边找到第一个奇数,两者交换。类似是快速排序的实现
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
labview统计数组中奇数偶数个数,利用移位寄存器,用labview编写的奇偶计数程序,把第i次循环执行的结果作为第i+1次循环的输入,LabVIEW循环结构中的移位寄存器可以实现这种功能。
//一维数组用法:计算数组中奇偶数的个数 Console.WriteLine(一维数组演示:一维数组中的奇偶数个数); int[ ] arr1 = new int[ ] {8, 13, 36, 30, 9, 23, 47, 81 }; int odd = 0; int even
VB6.0实现彩票36选7选号程序...放到一个新的二维数组中奇号个数,0-7 参数:二维数组(),存放一注号码,7个 返回值:奇号的个数,一个Variant数组,里面分别是每注的奇数的个数 UBound(Num, 1) 第一维是注数
1.查找数字并将其排序 2.输出Fibonacci数列 3.计算数列中奇偶数个数 4.计算输入日期是该年的第几天 5.结构体求两点间距离 6.十进制转二进制
C语言程序设计-编写函数求1~100中奇数的平方和结果为166650.000000.c
中奇收银打印机所有版本的驱动,对于想自己通过计算机配钱箱,打印机的人是个很好的办法。
2、统计 4×5 二维数组(数组中的数据为随机产生的 10~99 之间的整数)中奇数的个数和偶数的个数 3、创建一个结构类型数组用于存放学生信息(学号、姓名、出生日期和成绩),编程输入 5 个学生的相关数据, 然后按...
c代码-9. 功能:用while语句计算1—n中的奇数之和及偶数之和。
绘制三次b样条曲线的MATLAB代码储存库内容: ...13.练习6:查找数组中奇数个数。 14.Exercise7:创建一个填充有2的矩阵。 15.Exercise8:连接两个字符串。 16.Exercise9:创建一个包含3个字段的对象。 17.T
2,qlistview中奇偶数的节点背景色不同,这样好区分东西. 3,qlistview中单击该节点的时候该节点变为一种新的背景色. 4,qlistview中单击其他节点时,原来单击的节点回复原来的背景色,注意是原来的. 5,qlistview中单击...
如下所示: i=0 sum1=0 sum2=0 ...以上这篇python 求1-100之间的奇数或者偶数之和的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:
关于奇偶页码不同的设置方法
尽管$ ^ {200} $ Tl,$ ^ {211} $ Po和$ ^ {212} $ At(近球形核)的热容遵循奇数和偶数质量的趋势,但令人惊讶的是 在奇形变核$ ^ {184} $ Re中发现S形热容。 已经表明,在$ ^ {184} $ Re中观察到的这种S形热容...
c代码-10.键盘输入一个正整数s,从低位开始取出s中奇数位上的数作为高位,依次构成一个新数输出。例如,输入"54321",输出"135"。
摘要假设自旋为0的双夸克与构成夸克具有相似的质量,我们引入了夸克与双夸克之间的对称性。 为构造这种对称的代数,我们将上下旋转的夸克的三元组和自旋为0的夸克视为该代数的基本表示。 我们进一步建立由基本表示的...
使用matlab实现奇偶校验,使用for循环一步到位,加入了干扰位
因此,我们通过在交叉的偶数和奇数下幅度上放松ln2的约束来推广FMO方法。 我们表明,尽管在很大的幅度范围内有相当大的自由度,但最佳拟合却使我们回到了强相互作用的最大值。 此外,如果我们使Odderon Regge极点...