sıralama algoritması etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sıralama algoritması etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

c++ örnek dizi üzerinde birleştirmeli sıralama merge sort

Tek boyutlu bir dizide tanımlanmış integer elemanları, birleştirmeli sıralama algoritması (merge sort) ile c++ da sıralama.

#include<iostream>
using namespace std;

void merge(int a[], int p, int q, int r)
{
    int b[8];
    int sb, index, yer;
    sb = q - 1;
    yer = p;
    index = r - p + 1;
    while ((p <= sb) && (q <= r))
    {
        if (a[p] <= a[q])
        {
            b[yer] = a[p];
            yer = yer + 1;
            p = p + 1;
        }
        else
        {
            b[yer] = a[q];
            yer = yer + 1;
            q = q + 1;
        }
    }
    while (p <= sb)
    {
        b[yer] = a[p];
        p = p + 1;
        yer = yer + 1;
    }
    while (q <= r)
    {
        b[yer] = a[q];
        q = q + 1;
        yer = yer + 1;
    }
    for (int i = 0; i < index; i++)
    {
        a[r] = b[r];
        r = r - 1;
    }
}

void mergesort(int a[], int p, int r)
{
    if (p<r)
    {
        int q=(p+r)/2;
        mergesort(a,p,q);
        mergesort(a,q+1,r);
        merge(a,p,q+1,r);
    }
}

int main()
{
    int a[]={30,60,100,44,43,22,40,33};
    int i;
    mergesort(a,0,7);
    for (i=0;i<8;i++)
        cout<<a[i]<<" ";
    return 0;
}

c++ örnek dizi üzerinde seçmeli sıralama

cTek boyutlu bir dizide tanımlanmış integer elemanları, seçmeli sıralama algoritması ile c++ da sıralama.


#include<iostream>
using namespace std;
int secmeli(int D[], int n)
{
    int i,j,index,enkucuk;
    for (i=0;i<(n-1);i++)
    {
        enkucuk=D[n-1];
        index=n-1;
        for (j=i;j<(n-1);j++)
            if (D[j]<enkucuk)
            {
                enkucuk=D[j];
                index=j;
            }
        D[index]=D[i];
        D[i]=enkucuk;
    }
}
int main()
{
    int A[]={34,12,6,3,9,22,89,1,66,5};
    secmeli(A,10);
    for (int i=0;i<10;i++)
    {
        cout<<A[i]<<" ";
    }
    return 0;
}