排序_简单排序_选择排序

Posted S-Mustard

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序_简单排序_选择排序相关的知识,希望对你有一定的参考价值。

选择排序是有三个记录值,其中一个记录值标记着需要比较的数组的第一个值,也是变换后的最小值。其中两个记录值记录需要比较的两个对象,而且记录临时最小值的位置和记录另一个还未比较的数据。

public class ArraySel {
    private long a[];
    private int nElems;
    public ArraySel(int maxSize) {
        a=new long[maxSize];
        nElems=0;
    }
    //插入
    public void insert(long value) {
        a[nElems++]=value;
    }
    //显示
    public void display() {
        for(int j=0;j<nElems;j++)
            System.out.print(a[j]+" ");
        System.out.println();
    }
    //排序
    public void selectionSort() {
        int out,in,min;
        for(out=0;out<nElems;out++) {
            min=out;//每一次循环,out与min的位置都一样
            //需要比较的另一个对象的开始位置是第二个,即out+1或者min+1
            for(in=out+1;in<nElems;in++) {
                if(a[in]<a[min])
                    min=in;
            }
            //比较循环完成后,就找到一次外层循环的最小值
            swap(out, min);
        }
    }
    private void swap(int one,int two) {
        long temp=a[one];
        a[one]=a[two];
        a[two]=temp;
    }

}
public class Test {

    public static void main(String[] args) {
        int maxSize=100;
        ArraySel arrayBub=new ArraySel(maxSize);
        arrayBub.insert(77);
        arrayBub.insert(99);
        arrayBub.insert(44);
        arrayBub.insert(55);
        arrayBub.insert(22);
        arrayBub.insert(88);
        arrayBub.insert(11);
        arrayBub.insert(0);
        arrayBub.insert(66);
        arrayBub.insert(33);
        arrayBub.display();
        arrayBub.selectionSort();
        arrayBub.display();

    }

}

 

以上是关于排序_简单排序_选择排序的主要内容,如果未能解决你的问题,请参考以下文章

4.3_8种常用排序算法3(选择排序:简单选择排序+堆排序)

php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法

各种基本算法实现小结—— 排序算法

基础为技术之本_冒泡,简单排序,简单插入排序汇总

排序算法-简单选择排序

选择排序