码迷,mamicode.com
首页 > 编程语言 > 详细

排序001选择排序于冒泡排序

时间:2020-01-09 23:09:56      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:比较   排序算法   排序   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;
}
}

排序001选择排序于冒泡排序

标签:比较   排序算法   排序   blog   void   插入   system   return   从后往前   

原文地址:https://www.cnblogs.com/hbym/p/12173568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!