数据结构之排序算法Java实现(1)—— 选择类排序之简单选择排序算法
选择性排序是基于“选择”的,简单选择排序是每一次为一个数选择出一个合适的位置放进去。Java代码如下:
升序排序:
/**
* 简单选择排序
* 升序排序
*/
@Override
public <T extends Comparable<? super T>> void sortByAsc(T[] data) {
if(data == null || data.length <= 1){
return;
}
/**遍历数组,为每一个数选择适合他的位置*/
for(int i = 0; i < data.length; i++){
int index = i;
/**遍历i之后的数组,找到合适的值*/
for(int j = i + 1; j < data.length; j++){
if(data[index].compareTo(data[j]) > 0){
index = j;
}
}
/**交换值*/
T temp = data[index];
data[index] = data[i];
data[i] = temp;
}
}
升序排序:
/**
* 简单选择排序
* 降序排序
*/
@Override
public <T extends Comparable<? super T>> void sortByDesc(T[] data) {
if(data == null || data.length <= 1){
return;
}
/**遍历数组,为每一个数选择适合他的位置*/
for(int i = 0; i < data.length; i++){
int index = i;
/**遍历i之后的数组,找到合适的值*/
for(int j = i + 1; j < data.length; j++){
if(data[index].compareTo(data[j]) < 0){
index = j;
}
}
/**交换值*/
T temp = data[index];
data[index] = data[i];
data[i] = temp;
}
}

浙公网安备 33010602011771号