方法设计——冒泡排序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/gml1997/article/details/101309278

冒泡排序(可升序 也可降序)

在这里插入图片描述
一、设计一个方法 给数字进行排序只能升序
是否需要提供条件—数组 返回值——不用

public void orderArray(int[]array){
        for(int i=1;i<array.length;i++){//控制执行的轮次——数组的长度
            for(int j=array.length-1;j>=1;j--){//控制比较次数
                if(array[j]<array[j-1]) {
                    int temp=array[j];
                    array[j]=array[j-1];
                    array[j-1]=temp;
                }
            }
        }
    }

二、 设计一个方法 给数字进行排序(既能升序又能降序)
是否需要提供条件—数组 提供一个排序的规则Boolean 返回值——不用

//flag=true 升序排列 flag=false 降序排列

public void orderArray(int[]array,boolean flag){
	if(flag){// 升序排列 
		 for(int i=1;i<array.length;i++){//控制执行的轮次——数组的长度
            for(int j=array.length-1;j>=1;j--){//控制比较次数
                if(array[j]<array[j-1]) {
                    int temp=array[j];
                    array[j]=array[j-1];
                    array[j-1]=temp;
                }
            }
        }
	}
	else{// 降序排列
		 for(int i=1;i<array.length;i++){//控制执行的轮次——数组的长度
            for(int j=array.length-1;j>=1;j--){//控制比较次数
                if(array[j]>array[j-1]) {
                    int temp=array[j];
                    array[j]=array[j-1];
                    array[j-1]=temp;
                }
            }
        }

	
	}
}
 

优化

(if——else) 单分支语法结构—— 一样的代码可以做优化
不管走哪个分支一样的代码都要走一遍

上述代码if else 就差一个符号

优化一:
在这里插入图片描述

还是存在重复代码?

在这里插入图片描述
优化二:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gml1997/article/details/101309278
今日推荐