算法与数据结构_03_冒泡排序

冒泡排序

  • 排序算法稳定: 一般情况下,称某个排序算法稳定,指的是当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生改变

  • 冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完
    成了排序。

  • 代码:

    public class Buubble {

        // 1. 对数组a中得元素进行排序
        public static void sort(Comparable[] a){

            Comparable temp; //临时变量

            for(int i=a.length-1;i>0;i--) { //a.length-1 表示数组中元素的最大索引值
              for(int j=0;j<i;j++){
                 if(greater(a[j],a[j+1])){
                     swap(a,j,j+1);
                 }
              }
            }

        }

        //2.比较v元素 是否大于 w元素
        public static boolean greater(Comparable v,Comparable w){
            int result= v.compareTo(w);  // 如果结果大于0,那么证明v大于w,如果结果小于等于0,证明v并不大于w

            return result>0;
        }

        //3.数组元素索引i 和 索引j 处的值
        public static void  swap(Comparable[] a,int i,int j){
            Comparable temp=0;
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
         }
     }
posted @ 2021-04-19 22:05  失昼  阅读(49)  评论(0)    收藏  举报