Java排序算法——选择排序

 

import java.util.Arrays;

class Arrays_Select{
	private int[] arrays;
	private int curNum;

	public Arrays_Select(int max) {			//建立一个max长度的空数组
		super();
		arrays = new int[max];
		curNum = 0;
	}
	
	public void insert(int value){					//往空的数组里面增加元素
		arrays[curNum] = value;
		curNum++;
	}
	
	public void display(){									//显示数组
		System.out.println(Arrays.toString(arrays));
	}
	
	private void swap(int one,int two){		//交换
		int temp = arrays[one];
		arrays[one] = arrays[two];
		arrays[two] = temp;
	}
	
	public void SelectSort(){
		int out,in,min;
		
		for(out=0;out<curNum-1;out++){
			min = out;					//out从0开始,设第一个为最小
			for(in=out+1;in<curNum;in++){           //搜索之后的元素,从1开始,如果有比第0个小,交换
				if(arrays[in]<arrays[min]){       //都是找到未排序中最小的数
					min = in;			//找到最小数的标号
				}
				swap(out,min);	//交换
			}
		}
	}
}

public class Select_Sort {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int maxSize = 100;
		Arrays_Select arrays_demo = new Arrays_Select(maxSize);
		arrays_demo.insert(58);
		arrays_demo.insert(57);
		arrays_demo.insert(56);
		arrays_demo.insert(60);
		arrays_demo.insert(59);
		arrays_demo.display();
		arrays_demo.SelectSort();
		arrays_demo.display();
	}

}

 

posted @ 2016-03-28 16:45  tonglin0325  阅读(166)  评论(0编辑  收藏  举报