java实现选择排序方法

选择排序算法:

算法图示:
图片来自网络

简单说明:
1.首先固定第一个数字,然后比较剩下的数字,找到最小的一个并且比第一个数字小的数与第一个数字交换位置
2.再固定第二个数字,将后面的数字进行比较,选出最小的数字并且比第二个数字小的数与第二个数字互换位置
3.以此类推

代码实现:

class SelectSort{
  /**
  *选择排序算法
  */
  public void sort(int[] array){
    for(int i=0;i<array.length-1;i++){
      int index = i;//用来记录最小值的索引
      for(int j=i+1;j<=array.length-1;j++){
      //获取剩余数字的最小值
        if(array[j]<array[index]){
          index=j;
        }
      }
      //将最小值与相比较的数字位置互换
      int temp = array[i];
      array[i] = array[index];
      array[index] = temp;
    }
    showArray(array);
  }
  public void showArray(int[] array){
    System.out.println("选择排序的结果是:");
    for(int i:array){
      System.out.print(i+" ");
    }
    System.out.println();
  }
  public static void main(String[] args) {
    int[] array = {98,655,63,5558,52,2,7,4,1};
    SelectSort selectsort = new SelectSort();
    selectsort.sort(array);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值