选择排序

来源:互联网 发布:金十数据软件 编辑:程序博客网 时间:2024/05/29 19:59

/**
*功能:选择排序:每轮外循环之后,前outer是有序的
*@author:iamwiam
*/

public class SelectSort {

private int[] a;private int nElem;public SelectSort(int max){    a = new int[max];    nElem = 0;}public void insert(int value){    a[nElem] = value;    nElem++;}public void display(){    for(int i=0;i<nElem;i++){        System.out.print(a[i]+ " ");    }    System.out.println("");}public void selectSort(){    int outer,inner,min;    for(outer=0;outer<nElem-1;outer++){        min = outer;        for(inner=outer+1;inner<nElem;inner++){            if(a[inner]<a[min]){                min = inner;            }            swap(outer,min);        }    }}public void swap(int one,int two){    int temp = a[two];    a[two] = a[one];    a[one] = temp;}public static void main(String[] args){    int maxSize = 100;    SelectSort ss = new SelectSort(maxSize);    ss.insert(77);    ss.insert(99);    ss.insert(44);    ss.insert(55);    ss.insert(22);    ss.insert(11);    ss.insert(66);    ss.insert(33);    ss.selectSort();    ss.display();}

}

0 0