⚔疯狂输出⚔数据的排序

来源:互联网 发布:淘宝经常退款会怎么样 编辑:程序博客网 时间:2024/06/09 14:36

排序的第一种方法:
冒泡排序
精髓:两个相邻的数 相互比较大小,然后互换位置。
我们随便写一个简单的数组。6,4,8,1
这四个数按照我们上面说的来排一下序
第一遍比较
4,6,8,1
4,6,8,1
4,6,1,8
图画的丑还望见谅 绝对原创

这里写图片描述
第一次比较我们确定了一个的最大值。
那我继续来第二次比较。
4,6,1,8
4,6,1,8
4,1,6,8
第二次比较我们又确定了一个值
这里写图片描述
第三次比较
1,4,6,8
第三次就排序好了。
接下来我们,利用上面整理的思路写出来,写一下。

public class lianxi1{public static void main (String[]agrs){   //定义一个数组。搭建循环架构。  int []array = new int []{4,6,1,8};       for(int i = 0; i < array.length-1;i++){  // 控制循环次数  for(int j = 0; j < array.length-1-i;j++){  //用循环来比较,比较完一趟,确定一个数。直到数组比较完成。 控制控制两个数的交换的数,在两个数比较时控制他们两个下标的值不越界。如果越界了就读不出值。      //写一个交换素组元素的方法      if(array[j] > array[j+1]){  //比较两个数  因为递增的原因所以大于       int a = array[j];    //定义一个记录他们比较完存放的容器,交换两个数的位置       array[j] = array[j+1];  //交换两个数的位置       array[j+1] = a;             }       }    }     System.out.println(Arrays.toString(array)); //输出排列好的值  }}

结果

1,4,6,8

总结

  public class  lianxi1 {    public static void main(String[]agrs) {                 int[] array = new int []{};    for (int i = 0; i < array.length-1; i++) { //作用:让下标,在一个安全的界线,避免下标越界        for (int j = 0; j < array.length-1-i; j++) {//作用:一趟比较确定一个值,减少比较的次数。            if(array[i]>array[j+1]) {   //相邻的两个的数比较  满足判断条件继续执行不满足继续在for里循环知道满足条件为止。                int temp = array[i];      //满足判断条件 储存比较后的值                array[i] = array[j+1];      // 换值操作。                array[j+1] = temp;            //换值操作。                }            }        }        System.out.println(Arrays.toString(array));  //打印换值完成的数组。    }}

接下来我们写一个冒泡排序的方法

public static void sore(int [] array){      for(int a = 0;a<array.length-1; a++){    for(int b = 0; b<array.length-1-a;b++){        int temp = array[a];        array[a] = array[b+1];        array[b+1] = temp;}}}
阅读全文
0 0