标签:比较 排序算法 排序 blog void 插入 system return 从后往前
参考自 https://www.cnblogs.com/guoyaohua/p/8600214.html
/**
* 冒泡排序
* 相领的位置进行比较,一次循环能确定一个位置元素
* 共需确定length-1个位置
*/
public void bubbleSort(String[] arr){
for(int i = 0;i < arr.length;i++){//从前到后依次取值arr[i]
for(int j = 0;j < arr.length-i-1;j++){//j每次从0开始取值,但是比较次数会一次次减少
//arr[i]相当于每次的定值,拿着去比较所有
if(arr[i].compareToIgnoreCase(arr[j]) > 0){
String temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
//选择排序算法
public void selectSort(String[] arr){
if(arr.length < 0){
System.out.println("error");
return;
}
for(int i = 0; i < arr.length;i++){//i是每次确定的位置
int minIndex = i;
//从前往后依次查找,遇到比arr[i]还小的标记小标为最小,最后交换位置
for(int j = i+1;j < arr.length;j++){
if(arr[i].compareToIgnoreCase(arr[j]) > 0){
minIndex = j;
}
}
String temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
//插入排序从后往前依次排序
public void intoSort(String[] arr){
if(arr.length < 0 ){
System.out.println("error");
return;
}
for(int i = 0;i < arr.length;i++){
String curent = arr[i+1];
int m = 0;
for(int j = i+1; j > i;j--){
if(arr[i].compareToIgnoreCase(arr[j])>0){
//向后移动
arr[j] = arr[i];
m = j
}
}
arr[m] = curent;
}
}
标签:比较 排序算法 排序 blog void 插入 system return 从后往前
原文地址:https://www.cnblogs.com/hbym/p/12173568.html