s3 冒泡排序

Posted repinkply

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了s3 冒泡排序相关的知识,希望对你有一定的参考价值。

一:解题思路

Time:O(n^2),Space:O(1)

二:完整代码示例 (C++版和Java版)

C++:

template <typename T>
        static void Swap(T& a,T& b)
        {
            T c(a);
            a=b;
            b=c;
        }
template <typename T>
        static void Bubble(T array[],int len,bool min2max=true)
        {
            if(len==0) return ;
            bool exchange=true;

            for(int i=0;i<len&&exchange;i++)
            {
                exchange=false;

                for(int j=len-1;j>0;j--)
                {
                    if(min2max?(array[j]<array[j-1]):(array[j]>array[j-1]))
                    {
                        exchange=true;
                        Swap(array[j-1],array[j]);
                    }
                }
            }
        }

Java:

private void Swap(int[] array,int i,int j)
     {
         int temp=array[i];
         array[i]=array[j];
         array[j]=temp;
     }
     
     public void Bubble(int[] array)
     {
         if(array==null || array.length==0) return;
         int n=array.length;
         boolean exchange=true;
         
         for(int i=0;i<n&&exchange ;i++)
         {
             exchange=false;
             
             for(int j=n-1;j>0;j--)
             {
                 if(array[j]<array[j-1])
                 {
                     Swap(array,i,j);
                     exchange=true;
                 }
             }
         }
     }

 

以上是关于s3 冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

数据结构-冒泡排序算法

排序算法汇总

C语言冒泡排序法代码

请问这个冒泡排序代码,每一行都是啥意思呀,谢谢

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)