数组奇在偶前

public class shuzujizaihouzhiqian {

//private static final String[][] String = null;
/**
* @param args
* @return
*/
public static void sort(int[] x){
if(x==null||x.length==0){
return ;
}
int len=x.length;
int[] tmp=new int[len];
int oddPos=0;
int evenPos=len-1;
for(int i=0;i<len;i++){
if(!isEven(x[i])){
tmp[oddPos++]=x[i];
}else{
tmp[evenPos--]=x[i];
}
}
System.arraycopy(tmp, 0, x, 0, len);
}
public static boolean isEven(int x){
return (x&1)==0;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] tem={1,2,5,4,9,34,97,35,68};
sort(tem);
String[] str=new String[tem.length];
for (int i = 0; i < tem.length; i++) {
str[i]=tem[i]+"";
System.out.print(str[i]+" ");
}

}

}

时间: 2024-10-17 15:13:58

数组奇在偶前的相关文章

POJ 2828 poj 2828 Buy Tickets 【树状数组,已知前n项和为K,返回n值】

题目链接:http://poj.org/problem?id=2828 在一个队列中,一个人想要插队,告诉你每个新来的人会插在i个人后面,求出最后的队列. 如果我们用模拟的话,那么时间复杂度肯定是超了:想想,如果我们逆序,那么最后来的人的位置一定是固定的,这样的话,我们将问题转化成逆序扫描给出数据,插在i个人后面这个数据就变成了在这个人前面需要留出多少个空位.如此我们只需要用树状数组记录前n项总共有多少个空位,每扫描一个数据,就找出能使得他前面正好有i个空位. 这题用树状数组或者线段树都可以,今

查找一个数组中最小的前n项

/****************************************************************** find the biggest x number in a sequence* the basic method is the same as the QuickSort** 1. move the smaller one before the pivot* 2. move the bigger one after the pivot* 3. determin

1.冒泡排序。2.左旋数组K次,3.将数组中偶数置前,奇数置后

冒泡排序: //无序 [0, a.length - i) // 有序 [a.length - i, a.length) // 冒泡过程 无序在前,有序在后.每次都遍历无序区间,每一次比较出一个数放在后面. public static void bubbleSort(int[] a) { for (int i = 0; i < a.length; i++) { boolean sorted = true; // 无序 [0, a.length - i) // 有序 [a.length - i, a

take - 数组切片,返回前N个元素的数组

创建一个数组切片,从arr数组的起始元素开始提取n个元素. 使用 Array.slice() 创建一个数组包含第一个元素开始,到 n 个元素结束的数组. const take = (arr, n = 1) => arr.slice(0, n); 查看示例 take([1, 2, 3], 5); // [1, 2, 3] take([1, 2, 3], 0); // [] 原文地址:https://www.cnblogs.com/bali123/p/8311485.html

sql奇进偶舍函数

create   function   sslr(@num   numeric(20,10),@i   int) [email protected]保留的小数位 [email protected]传入的数据 returns   varchar(20) as begin declare   @numtemp   numeric(20,10),@result   varchar(20) set   @numtemp=abs(@num)*power(10,@i+1) select   @numtemp

css3基础 :nth-child(odd奇/even偶) 简单示例

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜.              ide:visual studio 2017             browser:Chrome                     os:win7 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu

用C语言编程,实现调整数组,使奇数全部位于偶数前边,

函数要求实现功能:调整数组使奇数全部都位于偶数前面. 要求: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分. 思考,要想实现此功能,首先对函数数组进行遍历,从两头进行,一个从前向后查看数组元素是否为奇数,一个从后向前查看数组元素是否为偶数,如果前为偶,后为奇则进行调换! 程序如下: /* **2.调整数组使奇数全部都位于偶数前面. ** 题目: **输入一个整数数组,实现一个函数, **来调整该数组中数字的顺序使得数组

BZOJ 4596: [Shoi2016]黑暗前的幻想乡

4596: [Shoi2016]黑暗前的幻想乡 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 408  Solved: 232[Submit][Status][Discuss] Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡 目前面临的种种大问题却给不出合适的解

「整理」勾股数组

我们大概老早就知道勾股定理,它大概就长这样: \[a^2+b^2=c^2\] 嗯,的确够简单的. 而且我们清楚地知道它的一个基本应用--知道\(Rt\Delta\)的两边长,求第三边.这大概初一就学了. 对于不知道勾股定理的童鞋们,不了解没关系,因为这里没有三角形,也不是探讨怎么求第三边,我们只探讨勾股数组. 这里的\(a \equiv b(mod\ c)\)其实就是\(a\%c=b\%c\),a|b其实就是\(b\%a=0\),希望小白们不要看不懂. 如果真的看不懂,可以先学习同余.约数.素数