Java:一维数组排序

package mypackage;

public class Hello {
	public static int[] random(int n,int range){  				//声明n为常量,方法体中不能赋值
		int[] x=new int[n];   							//声明一个一维数组,并且为它申请空间
		while(n>0)
			x[--n]=(int)(Math.random()*range);
		
		return x;
	}
	public static int[] random(){						//方法重载
		return random(10,100);
	}
	//输出一维数组
	public static void print(final int[] x){		//声明value数组为常量,方法体中不能更改引用	
		System.out.print("{");
		if(x.length>0)
			System.out.print(x[0]);
		
		for(int i=0;i<x.length;i++)
			System.out.print(","+x[i]);
		
		System.out.print("}");
	}
	
	public static void selectSort(int[] x){				//选择排序
		for(int i=0;i<x.length-1;i++){
			int min=i;
			for(int j=i;j<x.length;j++){
				if(x[j]<x[min]){
					min=j;
				}
			}
			if(i!=min){
				int temp=x[i];
				x[i]=x[min];
				x[min]=temp;
			}
		}
	}
	public static int[] merge(int[] x,int[] y){			//将两个数组合并为一个数组
		int z[]=new int[x.length+y.length],i=0,j=0,k=0;
		while(i<x.length&&j<y.length)
			if(x[i]<y[i])
				z[k++]=x[i++];
			else
				z[k++]=y[j++];
		while(i<x.length)
			z[k++]=x[i++];
		while(j<y.length)
			z[k++]=y[j++];
		return z;
	}
	public static void main(String[] args) {
		int n1=7,range1=100;
		int[] value1=random(n1,range1),value2=random(6,100);  //产生随机数
		System.out.print("value1:");  print(value1);
		System.out.print("value2:");  print(value2);
		selectSort(value1); selectSort(value2);
		System.out.print("sorted value1:");  print(value1);
		System.out.print("sorted value2:");  print(value2);
		System.out.print("merge:");  print(merge(value1,value2));
	}

}

【运行结果】
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值