分开正负数或奇偶数

问题描述假设一整型数组存在若干正数和负数(奇数或偶数),现在通过某种算法使得该数组的所有负数在正数的左边,且保证负数和正数间元素相对位置不变。


利用插入排序的思想解决

import java.util.Arrays;


/**
 * @author BiangHoo
 *
 * 2013年9月14日
 */
public class SplitPositiveNegetiveNumber {

	public static void main(String[] args) {
		int[] array={-3,2,4,-5,-6,-9,1,7,-34,56,-67};
		System.out.println(Arrays.toString(array));
		System.out.println("execute...");
		System.out.println(Arrays.toString(Split(array)));
	}
	
	private static int[] Split(int array[]){
		int len = array.length;
		int minus = 0;
		
		for(int i=1;i<len;i++){
			int key =i-1;
			while(i>0&&array[key]>0&&array[i]<0){
				Swap(array,i,key);
				i = key;
				key =i-1;
			}
		}
		return array;
	} 
	
	private static void Swap(int [] array,int i,int j){
		int temp = array[i];
		array[i] = array[j];
		array[j] = temp;
	}

}

JavaScript实用范例词典01 第1章 基础篇.... 1 1.1 使用JavaScript 1 1.2 使用VBScript 2 1.3 在JavaScript中使用变量... 2 1.4 检查变量的类型... 3 1.5 算术运算符... 4 1.6 比较运算符... 5 1.7 逻辑运算符... 6 1.8 递增、递减运算符... 7 1.9 算术赋值运算符... 8 1.10 三元运算符(条件运算符) 9 1.11 检查变量是否存在... 10 1.12 表达式的计算顺序... 11 1.13 条件选取(if) 12 1.14 多条件的选取if 13 1.15 双重选取(if) 14 1.16 多重选取if 15 1.17 switch流程控制... 16 1.18 重复执行(for) 17 1.19 重复执行(while) 18 1.20 危险(使用无穷循环冻结页面) 19 1.21 将1~10之间的奇偶分开... 20 1.22 声明组... 21 1.23 取得组的大小... 22 1.24 使用循环存取组... 23 1.25 连结两个组... 24 1.26 组的排序(使用sort方法) 25 1.27 删除组变量... 26 1.28 绝对值函的使用abs() 27 1.29 四舍五入函的使用round() 27 1.30 取整的使用(ceil()与floor()) 28 1.31 平方根函的使用(sqrt()) 29 1.32 取得两个中的最大(max())或 最小(min()) 30 1.33 随机函(random()) 31 1.34 圆形面积计算... 32 1.35 矩形面积计算... 33 1.36 三角形面积计算... 34 1.37 球体面积计算... 34 1.38 声明一个自定义的函... 35 1.39 单击按钮时调用函... 36 1.40 多个函同时调用... 37 1.41 使用对象... 38 1.42 声明一个对象... 39 1.43 判断一个对象是否存在... 40 1.44 使用with省略对象名称... 41 1.45 用变量省略对象名称... 42 1.46 取得对象的编号... 43 1.47 定义CSS样式表... 44 1.48 取得类的名称... 45 1.49 在指定的时间调用函... 46 1.50 在指定的时间反复调用函... 47 1.51 加载一个外部的CSS样式表文件... 48 1.52 指定一个js文件作为JavaScript 来源... 49 1.53 指定外部Behavior文件作为 JavaScript的来源... 50 1.54 将字转换为字符串... 51 1.55 将字符串转换成字... 51 1.56 例外处理... 52
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值