`
gongjiayun
  • 浏览: 159250 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

选择排序

 
阅读更多
选择排序:
以一个球队为例,现在在将这个球队的队员进行排序,首先观察队员,把最矮的队员与第一位置交换,即0位置。现在最左边的是有序的了,接下来从1闭门位置开始观察队员,找出最矮的与1位置交换,依此类推直到所有的队员都排好序。

下面是java代码:
package com.gjy.collect;

public class ArraySel {
	private long [] array;
	private int index;
	public ArraySel(int max) {
		array = new long[max];
		index = 0;
	}
	
	public void insert(long a){
		array[index] = a;
		index ++;
	}
	
	public void display(){
		for(int i=0;i<index;i++){
			System.out.println(""+array[i] );
		}
	}
	
	public void selectionSort(){
		int out,in,min;
		
		for(out=0;out<index;out++){
			min = out;
			for(in=out+1;in<index;in++){
				if(array[in]<array[min]){
					min = in;
					swap(out, min);
				}
			}
		}
	}
	
	private void swap(int one ,int two){
		long temp = array[one];
		array[one] = array[two];
		array[two] = temp;
	}
	
	public static void main(String[] args) {
		int max = 100;
		ArraySel arr;
		arr = new ArraySel(max);
		
		arr.insert(12);
		arr.insert(45);
		arr.insert(7);
		arr.insert(89);
		arr.insert(52);
		arr.insert(72);
		arr.insert(96);
		arr.insert(1);
		arr.insert(45);
		
		arr.selectionSort();
		arr.display();
		
		
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics