ibrahimunluk / c-ile-programlama

C programlama dilinde ornek uygulamalar yazabilirsiniz...
1 stars 0 forks source link

C programlama dilinde Quick sort algoritması yazma... #2

Open ibrahimunluk opened 6 years ago

ibrahimunluk commented 6 years ago

Quick sort algoritması kullanarak 10 elemanlı bir diziyi sıralayan C dilindeki kodu nasıl yazabilirim?

ibrahimunluk commented 6 years ago

include

void quick_sort(int[],int,int); int partition(int[],int,int);

int main() { int a[50],n=10,i;

printf("\n Lutfen dizinin 10 tane elemani girin: \n");

for(i=0;i<n;i++)
    scanf("%d",&a[i]);

quick_sort(a,0,n-1);
printf("\nDizinin sıralamadan sonraki hali :");

for(i=0;i<n;i++)
    printf("%d ",a[i]);

return 0;        

}

void quick_sort(int a[],int l,int u) { int j; if(l<u) { j=partition(a,l,u); quick_sort(a,l,j-1); quick_sort(a,j+1,u); } }

int partition(int a[],int l,int u) { int v,i,j,temp; v=a[l]; i=l; j=u+1;

do
{
    do
        i++;

    while(a[i]<v&&i<=u);

    do
        j--;
    while(v<a[j]);

    if(i<j)
    {
        temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }
}while(i<j);

a[l]=a[j];
a[j]=v;

return(j);

}