Sortiranje

4. Sortiranje zamjenom susjednih elemenata (Metoda mjehurića, engl. Bubble sort)

4.2. Primjer

1. verzija

#include<stdio.h>
int main()
{
    int a[20],n,i,j,t;
    printf("Unesi broj elemenata ");
    scanf("%d",&n);
    printf("Unesi elemente u polje ");
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    printf("\nIspis prije sortiranja\n");
    for(i=0;i<n;i++)
        printf("%d\t",a[i]);
    //sortiranje bubble sortom
    for(i=1;i<n;i++)
        for(j=0;j<n-i;j++)
            if (a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
    printf("\nIspis nakon sortiranja\n");
    for(i=0;i<n;i++)
        printf("%d\t",a[i]);
    return 0;
}

2. verzija

#include<stdio.h>
int main()
{
    int a[20],n,i,j,t,k;
    printf("Unesi broj elemenata ");
    scanf("%d",&n);
    printf("Unesi elemente u polje ");
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    printf("\nIspis prije sortiranja\n");
    for(i=0;i<n;i++)
        printf("%d\t",a[i]);
    //sortiranje bubble sortom
    i=1;   
    while (k!=0 || i==1)
    {
        k=0;
        for (j=0;j<n-i;j++)
            if (a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
                k=1;
            }   
        i++;
    }
    printf("\nIspis nakon sortiranja\n");
    for(i=0;i<n;i++)
        printf("%d\t",a[i]);
    return 0;
}