冒泡排序与选择排序(代码)

冒泡排序:比较相邻的两个数,如果第一个数比第二个数大,则两数交换。

选择排序:每次从所有数据中,选出最小的数据下标,然后和自定的最小索引交换。

package j_6_21;

import java.util.Arrays;

public class Text01 {
    public static void main(String[] args) {
        xuanZe();
        maoPao();
    }
    
    public static void xuanZe() {
        //选择排序
        int[] arr= {12,11,7,14,15,2};
        System.out.println("原数组:" + Arrays.toString(arr));
        
        for(int i=0;i<arr.length-1;i++) {//遍历所有元素
            int minIndex = i;//设置最小值的默认元素
            
            for(int j=i+1;j<arr.length;j++) {//从minIndex的下一个开始比较
                
                if( arr[j] < arr[minIndex]) {//如果下一个比minIndex还小,就记录下标
                    minIndex = j;
                }
                
            }
            
            if(minIndex != i) {//如果还是原来的数据,就不交换
                //交换这两个数
                int temp = arr[minIndex];
                arr[minIndex] = arr[i];
                arr[i] = temp;
            }
        }
        System.out.println("选择排序(升序):" + Arrays.toString(arr));
    }
    
    public static void maoPao() {
        //冒泡排序
        int[] arr= {12,11,7,14,15,2};
        
        for(int i=0;i<arr.length-1;i++) {//遍历所有元素
            
            for(int j=0;j<arr.length-i-1;j++) {//当前元素和下一个元素比较,
                if(arr[j] > arr[j+1]) {//如果大于后面,把小的元素换前来
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
                
            }
            
        }
        System.out.println("冒泡排序(升序):" + Arrays.toString(arr));
    }
}

猜你喜欢

转载自www.cnblogs.com/hello-top/p/13176149.html