public static void main(String[] args) {
int [] a={1,10,5,6,7,9} ;
int []result= sort(a);
//(小问题:两个不能同时使用,结果只有一个排序)
// int[]result2=sort2(a);
printArray(result);
// printArray(result2);
}
//冒泡排序
//思路:比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换两者的位置
//每一次比较就会产生一个最大或最小的数字
//依次循环,直到结果
//倒序数组排列
public static int[] sort(int [] array){
//外层循环,判断我们要走多少次;
int temp=0;
boolean flag=false; //减少排序次数,不进行最后一轮排序
for (int i = 0; i < array.length-1; i++) {
//内层循环,比较两个数,如果第一个数比第二个数小,则交换位置
for (int j = 0; j < array.length-1-i; j++) {
if(array[j+1]>array[j]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
flag=true;
}
}
if (flag==false){
break;
}
}
return array;
}
//升序数组排列
public static int[] sort2(int [] array){
//外层循环,判断我们要走多少次;
int temp=0;
for (int i = 0; i < array.length-1; i++) {
//内层循环,比较两个数,如果第一个数比第二个数小,则交换位置
for (int j = 0; j < array.length-1-i; j++) {
if(array[j+1]<array[j]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
//打印数组元素
public static void printArray (int [] arrays){
for (int i = 0; i < arrays.length; i++) {
if(i==0){
System.out.print("[");
}
if(i== arrays.length-1)
{
System.out.print(arrays[i]+"]");
}
else{
System.out.print(arrays[i]+", ");
}
}
}
11-09
344

07-04
118

“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交