奇偶数排序
来源:互联网 发布:生产仿真软件 编辑:程序博客网 时间:2024/05/22 04:29
给定一个整数数组,请调整数组中数的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
一头一尾指针往中间扫描
import java.util.Arrays;public class OddEvenSortTest { private static boolean IsOddNumber(int data) { return (data & 1) == 1; } private static void OddEvenSort(int[] a) { if(a.length == 0) return; int end = a.length - 1; int begin = 0; while(begin < end) { //如果begin指针指向的是奇数,正常,向右移动 if(IsOddNumber(a[begin])) begin++; //如果end指针指向的是偶数,正常,向左移 else if(!IsOddNumber(a[end])) end--; else { int t = a[begin]; a[begin] = a[end]; a[end] = t; } } } public static void main(String[] args) { int a[] = {1,13,4,7,54, 9678,3246,956,3456,234,5,6,7,89,5}; OddEvenSort(a); System.out.println(Arrays.toString(a)); //for(int i = 0; i < a.length; i++) // System.out.print (a[i]); } }
一前一后指针往后扫描
import java.util.Arrays;public class OddEvenSortTest2 { private static boolean IsOddNumber(int data) { return (data & 1) == 1; }// private static void swap(int a, int b)// {// int t = a;// a = b;// b = t;// } private static void OddEvenSort2(int a[]) { if(a.length == 0) return; int i = -1; for(int j = 0; j < a.length; j++) { //a[j]指向奇数,交换 if(IsOddNumber(a[j])) { i = i + 1; int t = a[i]; a[i] = a[j]; a[j] = t; } } int t = a[i+1]; a[i+1] = a[a.length-1]; a[a.length-1] = t; } public static void main(String[] args) { int a[] = {1,13,4,7,54, 9678,3246,956,3456,234,5,6,7,89,5}; System.out.println(a.length); OddEvenSort2(a); System.out.println(Arrays.toString(a)); //for(int i = 0; i < a.length; i++) // System.out.print (a[i]); } }
0 0
- 数组奇偶数排序
- 奇偶数排序
- 奇偶数排序
- 奇偶数排序
- 奇偶数排序
- 奇偶数间隔排序问题
- 奇偶数排序(调序)
- 产生随机数 奇偶数排序 素数求和
- 奇偶数排序,荷兰国旗问题
- 《编程之法》:奇偶数排序
- 奇偶数
- 奇偶数
- 奇偶数排序--整数数组的奇偶数分开(小米公司笔试题)
- 奇偶排序
- 奇偶排序
- 奇偶排序
- 奇偶排序
- 奇偶排序
- SQLServer可更新订阅数据在线架构更改(增加字段)方案
- 如何在Linux系统通过命令行生成随机文件
- qt事件处理机制
- 扩大UIButton的点击范围
- 撇开代码不说,谈谈我对架构的6个冷思考
- 奇偶数排序
- windows下命令行CMD的使用技巧
- 第2讲:Scala面向对象彻底精通及Spark源码阅读
- 《Windows核心编程》之“堆”
- android BitmapFacty.Options的用法
- 解析器把 XML 转换为 JavaScript 可存取的对象
- MySQL行级锁、表级锁、页级锁详细介绍
- C#基础教程之IComparable用法,实现List<T>.sort()排序
- Service详解