直接选择排序

直接选择排序方法属于选择排序的一种,他的排序速度要比冒泡排序快一些,也是常用的排序算法
直接选择排序的基本思想是将指定排序位置和其他数组元素对比,如果满足条件就交换元素值。注意这里和冒泡排序的区别,不是交换相邻元素,而是把满足条件的元素与指定的排序位置交换(如从最后一个元素开始排序),这样排序好的位置逐渐扩大,最后整个数组都成为已排序好的格式

相关示例代码

package hello;

/**
* @Package: hello
* @ClassName: Directsort
* @Author: 乔文军
* @CreateTime: 2020/8/9 13:02
* @Description: 直接排序
*/
public class Directsort {
  public static void main(String[] args) {
      //创建一个数组,这个数组元素是乱序的
      int []array = {64,4,24,1,3,15};
      //创建直接排序类的对象
      Directsort sorter = new Directsort();
      //调用排序对象的方法将数组排序
      sorter.sort(array);

  }

  private void sort(int[] array) {
      int index;
      for (int i = 1; i < array.length; i++){
          index = 0;
          for(int j = 1; j <= array.length-i;j++){
              if (array[j] > array[index]){
                  index = j;
              }
          }
          //交换在位置 array.length-1 和 index(最大值)上的两个数
          int temp = array[array.length-i];
          array[array.length-i] = array[index];
          array[index] = temp;
      }
      showArray(array);
  }

  private void showArray(int[] array) {
      for (int i:array
           ) {
          System.out.print(">" + i);
      }
      System.out.println();
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值