• + 0 comments

    c#

    int numberOfSwaps = 0,pointer = 0; bool swapped;

        do
        {
            swapped=false;
    
            for(var i=0;i<a.Count-1-pointer;i++)
            {
                if(a[i]>a[i+1])
                {
                    (a[i],a[i+1]) = (a[i+1],a[i]);
                    numberOfSwaps++;
                    swapped=true;                 
                }
            }
    
            pointer++;
    
        }while(swapped);