冒泡排序算法和选择排序算法的比较 ——以java语言为例

在这里插入代public class BubbleSort {


    //冒泡排序算法
    public static void main(String[] args) {
        int count1=0;//计算冒泡排序比较次数
        int count2=0;//计算冒泡排序交换次数
        int count3=0;//计算选择排序比较次数
        int count4=0;//计算选择排序交换次数

        int[] arr={98,5,89,670,654,25};
        for(int i=arr.length-1;i>0;i--){
            for (int j=0;j<i;j++){
                count1++;
                if(arr[j]>arr[j+1]){
                    count2++;

                    int temp;
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;


                }


            }

        }
        for (int i = 0; i <=arr.length-1 ; i++) {
            System.out.println(arr[i]);
        }
        System.out.println("冒泡排序比较次数:"+count1+";冒泡排序交换次数:"+count2+";");
        System.out.println("=========================================");
        //选择排序算法
        for (int i=0;i <arr.length;i++){
            //System.out.println(i);
            for (int j = i+1; j <arr.length ; j++) {
                count3++;
                int min=i;
                //System.out.println("===="+j);
                if (arr[min]>arr[j]){

                    j=min;
                    count4++ ;
                }
                if (min!=i){

                    int temp;
                    temp=arr[min];
                    arr[min]=arr[i];
                    arr[i]=temp;

                }




            }


        }
        for (int k = 0; k <arr.length; k++) {
            System.out.println(arr[k]);

        }

        System.out.println("选择排序比较次数:"+count3+";选择排序交换次数:"+count4+".");

    }



}
码片

效果图如下:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/immortalize/article/details/107562993