java 数组 直接选择排序

 java   数组   直接选择排序

例如:对数组 a[]={12,34,2,1,43,67}分别进行升序和降序排列


public class Arrays {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int a[] ={12,34,2,1,43,67};
		int index;//创建一个int变量;作为指针一直指向最大的数
		for(int i=1;i<a.length;i++){//i做为循环次数
			index=0;//每次循环完,index为0,然后进行下一次循环
			for(int j=1;j<=a.length-i;j++){
                                     //a.length-i为每次循环对比的次数
				if(a[index]<a[j]){
					index=j;
				}//使指针总指向最大的数			
			}
			int temp=a[a.length-i];
                           //把每次循环的最后一个数赋给临时变量temp
			a[a.length-i]=a[index];
                           //把每次循环最大的数赋给每次循环的最后一个数
			a[index]=temp;//把临时变量赋给a[index]
                      //用第3变量,完成每次循环最大数与最后一个数的兑换
		}
		for(int e:a){
			System.out.print(e+"<");
		}//用foreach语句遍历数组		
	}

}

升序输出结果:



public class Arrays {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int a[] ={12,34,2,1,43,67};
		int index;//创建一个int变量;作为指针一直指向最小的数
		for(int i=1;i<a.length;i++){//i做为循环次数
			index=0;//每次循环完,index为0,然后进行下一次循环
			for(int j=1;j<=a.length-i;j++){
                         //a.length-i为每次循环对比的次数
				if(a[index]>a[j]){
					index=j;
				}//使指针总指向最小的数			
			}
			int temp=a[a.length-i];
                           //把每次循环的最后一个数赋给临时变量temp
			a[a.length-i]=a[index];
                           //把每次循环最小的数赋给每次循环的最后一个数
			a[index]=temp;//把临时变量赋给a[index]
                      //用第三变量,完成每次循环最小数与最后一个数的兑换
		}
		for(int e:a){
			System.out.print(e+">");
		}//用foreach语句遍历数组		
	}

}
降序排列结果输出:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值