选择排序算法的JAVA实现

本文介绍了一个使用选择排序算法实现的Java类,该类通过实现SortStrategy接口提供了对Comparable类型数组的排序功能。选择排序是一种简单直观的比较排序方法,通过遍历数组找到最小元素并将其放到正确的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. package Utils.Sort;  
      
    /** 
     
    *@author Linyco 
     
    *利用选择排序法对数组排序,数组中元素必须实现了Comparable接口。 
     
    */  
      
    public class ChooseSort implements SortStrategy  
      
    {    /** 
     
           *对数组obj中的元素以选择排序算法进行排序 
     
           */  
      
           public void sort(Comparable[] obj)  
      
           {  if (obj == null)  
      
                  {    throw new NullPointerException("The argument can not be null!");  
      
                  }  
      
                  Comparable tmp = null;  
      
                  int index = 0;  
      
                  for (int i = 0 ;i < obj.length - 1 ;i++ )  
      
                  {    index = i;  
      
                         tmp = obj[i];  
      
                         for (int j = i + 1 ;j < obj.length ;j++ )  
      
                         {  //对邻接的元素进行比较,如果后面的小,就记下它的位置  
      
                                if (tmp.compareTo(obj[j]) > 0)  
      
                                {    tmp = obj[j];   //要每次比较都记录下当前小的这个值!  
      
                                       index = j;  
      
                                }  
      
                         }  
      
                         //将最小的元素交换到前面  
      
                         tmp = obj[i];  
      
                         obj[i] = obj[index];  
      
                         obj[index] = tmp;  
      
                  }        
    	}
    }  
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值