Bubble Sort

QUESTION:

Write a C program to perform bubble sort on an array of n elements.

Input Format:
Input consists of n+1 integers. The first integer corresponds to n, the number of elements in the array. The next n integers correspond to the elements in the array.

Output Format:
Refer sample output for formatting specs.

Sample Input and Output:
[All text in bold corresponds to input and the rest corresponds to output]
Enter the number of elements :
5
Enter element 1
34
Enter element 2
23
Enter element 3
67
Enter element 4
34
Enter element 5
2
Unsorted list is :
34 23 67 34 2
After Pass 1 elements are :23 34 34 2 67
After Pass 2 elements are :23 34 2 34 67
After Pass 3 elements are :23 2 34 34 67
After Pass 4 elements are :2 23 34 34 67
Sorted list is :
2 23 34 34 67
Note: stop the process if u find that the list is sorted in any intermediate point.

SOLUTION:

#include<stdio.h>
int main()
{
    int n,i,j,temp,a[20]={0},k,flag;
    printf("Enter the number of elements :");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        printf("\nEnter element %d",i+1);
        scanf("%d",&a[i]);
    }
    printf("\nUnsorted list is :\n");
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    for(i=0;i<n-1;i++)
    {
        flag=0;
        for(j=0;j<=n-2;j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
                flag++;
            }
        }
        printf("\nAfter Pass %d elements are :",i+1);
        for(k=0;k<n;k++)
            printf("%d ",a[k]);
        if(flag==0)
            break;
    }
    printf("\nSorted list is :\n");
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    return 0;
}

Comments

Popular posts from this blog

Implementing a Fixed size Queue of maximum size 5 using an array

Implementing a Dynamically sized stack using array

Functions - Null Matrix