zoukankan      html  css  js  c++  java
  • 整数数组的奇偶数分开(小米笔试题)

    整数数组的奇偶数分开(小米笔试题)


    题目:


    在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。请完成 sort 的代码实现(C++或Java)


    C++:

    void sort(int N, int[]a)
    {
        …
    }

    Java:

    void sort(int[]a){
        …
    }

    例如: 当输入a = {8,4,1,6,7,4,9,6,4},

    a = {1,7,9,8,4,6,4,6,4}为一种满足条件的排序结果




    java版的实现代码:
    package cn.cat.test;
    
    import java.util.Arrays;
    
    public class Test {
    
    	public static void main(String[] args) {
    		int[] data = {8,4,1,6,7,4,9,6,4};
    		sort(data);
    		System.out.println(data);
    		System.out.println(Arrays.toString(data));
    	}
    	
            // 排序实现
    	static void  sort(int[] data) {
    		for (int i = 0; i < data.length - 1; i++) {
    			//能被2整除的数都是偶数,反之为奇数
    			if (data[i] % 2 == 0) {
    				int j = i + 1;
    				while (j < data.length) {
    					if (data[j] % 2 != 0) {
    						int temp = data[i];
    						data[i] = data[j];
    						data[j] = temp;
    						break;
    					}
    					j++;
    				}
    				//说明后面的全部均为偶数,没必须要往下循环。
    				if (j == data.length) {
    					break;
    				}
    			}
    			
    		}
    	}
    }
    



  • 相关阅读:
    apache多端口映射
    mark
    一些注册表值
    jsp URL中文处理的几种方式
    【引用】雨林木风Ghost XP SP3系统
    CentOS常用命令
    查看ie8临时文件夹
    卡塔兰数
    大数问题
    不会做的题目
  • 原文地址:https://www.cnblogs.com/catgwj/p/7503307.html
Copyright © 2011-2022 走看看