排序算法(二)选择排序 Java

2021-03-05 08:29

阅读:524

标签:错误   imp   final   算法   cti   index   小数   new   math   

一、测试类

import java.util.Arrays;

public class SortTest {

  private static final int L = 20;
  public static void main(String[] args) {

    int [] arr = new int[6];
    for (int i = 0; i     arr[i] = (int)((Math.random()+1)*L);
    }
    System.out.println(Arrays.toString(arr));
    // new Sort().BubbleSort(arr);
    // new Sort().SelectionSort(arr);
    new Sort().InsertSort(arr);
    System.out.println(Arrays.toString(arr));
  }
}

二、排序类

/**
*
*

选择排序


*

    *
  • 1 每一趟直接选择最小的数,将其和前面的数交换位置
    *
  • 2 假设第一个数是最小的数,标记最小数min和第一个数的下标
    *
  • 3 n-1趟后,排序完毕
    *

* @param arr the array
* @author linzm
* @since 1.8
*
*/
public void SelectionSort(int[] arr) {
  // 进行length-1趟
  for (int j = 0; j   // 选择最小的数
  // 假设第一个数是最小的数,标记最小数min和第一个数的下标
  int min = arr[j];
  int minIndex = j;
  // 遍历数组,寻找最小的数,然后和arr[0]交换位置
  for (int i = j+1; i     if(arr[i]     min = arr[i];// 如果出现第一个数比arr[0]小,先标记,暂不交换
    minIndex = i;// 同时标记该最小数的小标
    }
  }
  if(minIndex != j) {
  arr[minIndex] = arr[j];
  arr[j] = min;
    }
  }
}

仅供参考,有错误还请指出!

有什么想法,评论区留言,互相指教指教。

排序算法(二)选择排序 Java

标签:错误   imp   final   算法   cti   index   小数   new   math   

原文地址:https://www.cnblogs.com/linzm14/p/14325252.html


评论


亲,登录后才可以留言!