package www.bite.PaiXu;
import java.lang.reflect.Array;
/**
* 直接选择排序:在元素集合中直接选出最大(小)的元素,若他不是最后一个(第一个)元素则他与最后一个(第一个)元素交换 升序排序
*
* @author 宋典
*
*/
class sort1 {
int j = 0;
int min = 0;
public void ways1(int[] value) {
for (int i = 0; i < value.length; i++) {
min = i;
for (j = i + 1; j < value.length; j++) {
if (value[min] > value[j]) {
min = j; //记录当前最小值得位置
}
}
if(min!=i) {//检验最小值的位置是否还是之前的位置,不是则交换
int temp=value[i];
value[i]=value[min];
value[min]=temp;
}
}
}
}
class InsertSort{ //直接插入排序
public void direct(int value[]) {
int bound=1;
for( bound=1;bound<value.length;bound++) {//默认第一个有序
int bound_value=value[bound];
int i=bound;
for( i=bound;i>0;i--) { //无序部分
if(value[i-1]>bound_value) { //将无序部分调整为有序
value[i]=value[i-1]; //数值交换将前后两个数值,不断交换
}else {
break;
}
}
value [i]=bound_value;//数值交换完毕后第一个的数值交换成一开始记录的数字
}
}
}
public class ChooseSort {
public static void main(String[] args) {
int value[] = { 1, 2, 5, 92, 6, 90, 9, 7, 2 };
InsertSort a=new InsertSort();
a.direct(value);
for(int i=0;i<value.length;i++) {
System.out.println(value[i]);
}
}
}