14_调整数组顺序使奇数位于偶数前面
来源:互联网 发布:mac合盖播放 编辑:程序博客网 时间:2024/06/03 19:39
Java版本:
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位予数组的后半部分。
输入:1 5 3 6 8 5 3 8
输出:1 5 3 3 5 8 6 8
import java.util.Scanner;public class Main { private static void order(int[] data) { if(data == null || data.length <2) return; int start = 0; int end = data.length-1; while(start<end){ //奇数在前,偶数在后 while(start<end && data[start]%2 == 1) start++; while(start<end && data[end]%2 == 0) end--; int temp = data[start]; data[start] = data[end]; data[end] = temp; } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String inputString = sc.nextLine(); String[] stringArray = inputString.split("\\s+"); int length = stringArray.length; int[] data = new int[length]; for(int i = 0;i < length;i++){ data[i]=Integer.parseInt(stringArray[i]); } order(data); for(int i = 0;i < length;i++){ System.out.print(data[i] + " "); } sc.close(); }}
扩展性解法:
import java.util.Scanner;public class Main { //奇数在前,偶数在后 private static boolean func1(int n) { return (n % 2 == 1); } //负数在前,非负数在后 private static boolean func2(int n) { return (n < 0); } //能被3整除在前,不能的在后 private static boolean func(int n) { return (n % 3 == 0); } private static void order(int[] data) { if(data == null || data.length <2) return; int start = 0; int end = data.length-1; while(start<end){ while(start<end && func(data[start])) start++; while(start<end && !func(data[end])) end--; int temp = data[start]; data[start] = data[end]; data[end] = temp; } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String inputString = sc.nextLine(); String[] stringArray = inputString.split("\\s+"); int length = stringArray.length; int[] data = new int[length]; for(int i = 0;i < length;i++){ data[i]=Integer.parseInt(stringArray[i]); } order(data); for(int i = 0;i < length;i++){ System.out.print(data[i] + " "); } sc.close(); }}
阅读全文
0 0
- 14_调整数组顺序使奇数位于偶数前面
- 20170928_调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面14
- 14调整数组顺序使奇数位于偶数前面
- 题目14:调整数组顺序使奇数位于偶数前面
- 面试14:调整数组顺序使奇数位于偶数前面
- 14调整数组顺序使奇数位于偶数前面python
- 试题14:调整数组顺序使奇数位于偶数前面
- 剑指Offer_面试题14_调整数组顺序使奇数位于偶数前面
- 【数组3】-调整数组顺序使奇数位于偶数前面
- 数组3:调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面--总结
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面[
- bzoj3632外太空旅行 随机化求最大团
- day3
- 深度探索C++对象模型——Data Member的布局(2)书上的错误
- 继承和多态
- 正则表达式--1
- 14_调整数组顺序使奇数位于偶数前面
- 递归函数使用引用传递的问题
- xargs和grep的区别
- 1009. 说反话 (20)
- 机器学习中数据优化的几种方法
- PE 格式详解
- 网络请求+购物车
- 十一个行为型模式9:策略模式-Strategy Pattern【学习难度:★☆☆☆☆,使用频率:★★★★☆】
- codeforces 827F. Dirty Arkady's Kitchen