数据结构排序算法之选择排序(Java实现)

有何不懂的可以留言或者私信

package day01;

public class Selection {

   public static void sort(Comparable[] a){	
	   for(int i=0;i<a.length-1;i++){
		   //定义一个变量,记录最小值所在的索引,默认为参与排序的第一个元素所在索引
		   int MinIndex=i;
		   for(int j=i+1;j<a.length;j++){
			   //比较最小索引minindex的值和j处索引的值
			   if(greater(a[MinIndex],a[j])){
				   MinIndex=j;
			   }
		   }
		   //交换最小索引和第一个元素的位置
		   exch(a,MinIndex,i);
	   }
   }
	/*
	   * 比较v元素是否大于w元素
	   */
	  private static boolean greater(Comparable v,Comparable w){
		  
		  return v.compareTo(w)>0;
	  }
	  /*
	   * 数组元素i和j交换位置
	   */
	  private static void exch(Comparable[] a,int i,int j){
		  Comparable temp;
		  temp=a[i];
		  a[i]=a[j];
		  a[j]=temp;
	  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值