选择排序:
以一个球队为例,现在在将这个球队的队员进行排序,首先观察队员,把最矮的队员与第一位置交换,即0位置。现在最左边的是有序的了,接下来从1闭门位置开始观察队员,找出最矮的与1位置交换,依此类推直到所有的队员都排好序。
下面是java代码:
以一个球队为例,现在在将这个球队的队员进行排序,首先观察队员,把最矮的队员与第一位置交换,即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();
}
}