(五)简单排序—选择排序

来源:互联网 发布:顶级域名 二级域名 编辑:程序博客网 时间:2024/05/18 02:44

一、选择排序思想:

选择排序的思想是:首先将第一个位置的元素标记为最小,依次与后面的元素比较,当发现比第一个元素更小的元素时,将那个元素标记为最小,然后用最小的这个元素继续与后面的元素比较,直到最后,然后将第一轮比较中最小的元素,与第一个元素交换位置。

接下来,进行第二轮循环,再以第二个元素作为起点,将其标记为最小,因为第一个元素已经排好了位置。依然按照上面的方法比较。依次类推,直到将所有最小的元素选择出来,与前面的交换。所以叫做选择排序。

二、选择排序算法Java描述

package com.solid.array;

public class SelectSort {

    //数组对象

    private long[] arr;

    //数组元素个数

    private static int nElems;

   

    /**

     * 构造方法

     * @param max

     */

    public SelectSort(int max) {

       arr = new long[max];

       nElems = 0;

    }

   

    /**

     * 插入元素

     * @param value

     */

    public void insert(long value) {

       arr[nElems] = value;

       nElems++;

    }

   

    /**

     * 选择排序算法

     */

    public void selSort() {

       int min;   //用于标记最小的下标

       for(int i=0; i<nElems-1; i++) {

           min = i;

           for(int j=i+1; j<nElems; j++) {

              if(arr[j] < arr[min]) {

                  min = j;

              }

           }

           if(min != i) {

              long temp = arr[min];

              arr[min] = arr[i];

              arr[i] = temp;

           }

       }

    }

   

    /**

     * 显示数组中的所有元素

     */

    public void display() {

       for(int i=0; i<nElems; i++) {

           System.out.print("arr["+i+"]=" + arr[i] + " ");

       }

       System.out.println();

    }

}

 

原创粉丝点击