直接排序

1.直接排序算法:从第二个元素开始迭代,和前面的元素比较大小,如果发现大于自己的,先用一个临时变量保存好自己,然后从该位置开始到自己位置的元素往后移一个位置。再把自己放在该位置。

代码1.

	public static void main(String[] args) {
		int[] a=new int[10];
		System.out.println("排序之前:");
		for(int i=0;i<a.length;i++){
		//	double random=Math.random()*10;
			//double d=Math.floor(random);//Math.round(random);
			a[i]=(int)Math.floor(Math.random()*10) ;
		
			System.out.println(a[i]);				
		}
		int temp =0;
		for(int i=0;i<a.length;i++){
			
			for(int j=0;j<i;j++){
				if(a[j]>a[i]){
					temp=a[i];
					for(int k=i;k>j;k--){
						a[k]=a[k-1];	
					}
					a[j]=temp;
					
				}
				
				
			}
			
		}
		System.out.println("最后直接排序以后:");
		for(int i=0;i<a.length;i++){
			System.out.println(a[i]);
			
			
		}
	}

 

代码2.

public static void main(String[] args) {
		Integer[] a=new Integer[10];
		int temp=0;
		for(int i=0;i<a.length;i++){	
			a[i]=new Integer(new Long(Math.round(Math.random()*100)).intValue());
		}
		System.out.println("排序之前:");
		for(int i=0;i<a.length;i++){
			System.out.println(a[i]);			
		}
		System.out.println("直接排序之后:");
		for(int i=0;i<a.length;i++){
			for(int j=0;j<i;j++){
				if(a[j].intValue()>a[i].intValue()){
					temp=a[i].intValue();
					for(int k=i;k>j;k--){
						a[k]=a[k-1];
						
					}
					a[j]=new Integer(temp);
					
				}
				
			}
			
		}
		for(int i=0;i<a.length;i++){
			
			System.out.println(a[i]);
		}

	}

 

 总结:使用java的Integer类,Long等对象比较大小有点繁琐,因为操作的都是对象,所以不能方便地直接使用比较运算符直接比较大小,而使用其他方法。例如两个Integer对象在数字上比较大小要用compareTo(Integer int)方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值