服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - JAVA教程 - Java数据结构及算法实例:选择排序 Selection Sort

Java数据结构及算法实例:选择排序 Selection Sort

2019-12-24 13:04junjie JAVA教程

这篇文章主要介绍了Java数据结构及算法实例:选择排序 Selection Sort,本文直接给出实现代码,代码中包含详细注释,需要的朋友可以参考下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
 * 选择排序的思想:
 * 每次从待排序列中找到最小的元素,
 * 然后将其放到待排的序列的最左边,直到所有元素有序
 
 * 选择排序改进了冒泡排序,将交换次数从O(N^2)减少到O(N)
 * 不过比较次数还是O(N)
 */
package al;
public class SelectSort {
   
  public static void main(String[] args) {
     
    SelectSort selectSort = new SelectSort();
    int[] elements = { 14, 77, 21, 9, 10, 50, 43, 14 };
    // sort the array
    selectSort.sort(elements);
    // print the sorted array
    for (int i = 0; i < elements.length; i++) {
      System.out.print(elements[i]);
      System.out.print(" ");
    }
  }
   
  /**
   * @author
   * @param array 待排数组
   */
  public void sort(int[] array) {
    // min to save the minimum element for each round
    int min, tmp;
     
    for(int i=0; i<array.length; i++) {
      min = i;
      // search for the minimum element
      for(int j=i; j<array.length; j++) {
        if(array[j] < array[min]) {
          min = j;
        }        
      }
      // swap minimum element
      tmp = array[i];
      array[i] = array[min];
      array[min] = tmp;      
    }
  }
}

延伸 · 阅读

精彩推荐
  • JAVA教程Java 继承原理与用法实例分析

    Java 继承原理与用法实例分析

    这篇文章主要介绍了Java 继承原理与用法,结合实例形式分析了java面向对象程序设计中继承的概念、原理、用法及操作注意事项,需要的朋友可以参考下...

    longzhoufeng3412019-06-26
  • JAVA教程面试中遇到的java逃逸分析问题

    面试中遇到的java逃逸分析问题

    这篇文章主要介绍了面试中遇到的java逃逸分析问题,逃逸分析(Escape Analysis)简单来讲就是,Java Hotspot 虚拟机可以分析新创建对象的使用范围,并决定是否...

    Java技术栈3182019-06-28
  • JAVA教程Java8的default方法详细介绍

    Java8的default方法详细介绍

    这篇文章主要介绍了Java8的default方法,详细介绍了什么是default方法,在多继承时的处理等,需要的朋友可以参考下 ...

    Java教程网3732019-11-19
  • JAVA教程JavaEE中关于ServletConfig的小结

    JavaEE中关于ServletConfig的小结

    ServletConfig是针对特定的Servlet的参数或属性。ServletConfig是表示单独的Servlet的配置和参数,只是适用于特定的Servlet。从一个servlet被实例化后,对任何客户端...

    hebedich1802019-12-02
  • JAVA教程java使用gzip实现文件解压缩示例

    java使用gzip实现文件解压缩示例

    这篇文章主要介绍了java使用gzip实现文件解压缩示例,需要的朋友可以参考下 ...

    java教程网2382019-11-12
  • JAVA教程Java中构造、生成XML简明教程

    Java中构造、生成XML简明教程

    这篇文章主要介绍了Java中构造、生成XML简明教程,本文通过dom4j包来完成,需要的朋友可以参考下 ...

    junjie2342019-11-26
  • JAVA教程Java线程的相关方法详细解析

    Java线程的相关方法详细解析

    以下是对Java线程的相关方法进行了详细的介绍,需要的朋友可以过来参考下 ...

    java教程网4182019-10-12
  • JAVA教程java NIO 详解

    java NIO 详解

    Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。 ...

    hebedich4502019-12-03