⚔疯狂输出⚔ 数组选择排序法。

来源:互联网 发布:p结婚证软件 编辑:程序博客网 时间:2024/05/21 10:14

选择排序法
下面我们先写出一基本的冒泡排序

public class exercise{public static void main(String[]agrs){          int[] array= new int []{} ;             for (int a = 0; a< array.length-1; a++) {              for (int b = 0; b < array.length-1-a; b++) {                  if(array[a]<array[b+1]) {                      int temp = array[b];                      array[b] = array[b+1];                      array[b+1] = temp;                  }            }        }          System.out.println(Arrays.toString(array));}}

上面是冒泡排序的基本框架了。
下面我来看一下顺序排序是怎么回事。对比一下大家一下就明白了。

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 = 1+i; j<array.length ; j++){  //从数组在堆内存中,存储的首地址开始和相邻的一个数比较。        if( array[j]<array[i]){  //和相邻的比较 一直比较 确定一个数后停止 再继续循环下一个 得值。注意:他们是地址里面的值在比较而不是 i和j在比较           temp = array[j];      //换值操作           array[j] = array[i];           array[i] =  temp ;}   }}    System.out.println(Arrays.toString(array));}}

比较如下图
这里写图片描述
两种方法的区别
冒泡排序在比较的时候是两两相邻的比较 效率很低。比较次数也很多。
而选择排序就不同了,他是一个数和其他几个数比较确定出一个数就不在比较
就是下一个数继续比较。比较的次数比冒泡排序的比较次数要少。

原创粉丝点击