排序001选择排序于冒泡排序
Posted hbym
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序001选择排序于冒泡排序相关的知识,希望对你有一定的参考价值。
参考自 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;
}
}
以上是关于排序001选择排序于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章