DEV Community

Cover image for Total number of comparision and swaps in bubble sort
Sourav das
Sourav das

Posted on

Total number of comparision and swaps in bubble sort

In c++

#include <iostream>
using namespace std;
int main()
{
    int temp=0;
    int swap=0,comp=0;
    int a[3];
    cout<<"Enter 3 numbers"<<endl;
    for (int i = 0; i < 3; ++i)
    {
        cin>>a[i];
    }

    cout<<endl;
    cout<<"The list you enterd"<<endl;
    for (int i = 0; i < 3; ++i)
    {
        cout<<a[i]<<" ";
    }
    cout<<endl;
    for (int i = 1; i < 3; ++i)
    {
        for (int j = 0; j < 3-i; j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
                swap++;
            }
            comp++;
        }
    }
    cout<<endl;
    cout<<"The sorted list"<<endl;
    for (int i = 0; i < 3; ++i)
    {
        /* code */
        cout<<a[i]<<" ";
    }
    cout<<endl;
    cout<<"The number of swaps "<<swap<<endl;
    cout<<"The number of comparision "<<comp<<endl;

}
Enter fullscreen mode Exit fullscreen mode

in python

a=[5,61,1]
swap=0
comp=0
leng=len(a)

for i in range(1,leng):
    for j in range(0,leng-i):
        if a[j]>a[j+1]:
            temp=a[j]
            a[j]=a[j+1]
            a[j+1]=temp
            swap+=1
        comp+=1
print("The sorted list")
for i in a:
    print(i,end=" ")
print()
print("Total number of comparison {}".format(comp))
print("Total number of swap %d"%swap)
Enter fullscreen mode Exit fullscreen mode

in ruby

a=[5,61,1]
comp=0
swap=0
for i in (1...a.size)
    for j in (0...a.size-i)
        if a[j]>a[j+1]
            temp=a[j]
            a[j]=a[j+1]
            a[j+1]=temp
            swap+=1
        end
        comp+=1
    end
end
puts 
puts "The sorted list"
a.each_index do |num|
    print " #{a[num]}"
end
puts
puts " Total number of comparision #{comp}" 
puts " Total number of swaps #{swap}" 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)