mergei, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l6


#include<stdio.h>

#include<stdlib.h>

const int size=32;

int a[size];

int b[size];

void merge(int, int ,int);

void mergesort();

void write(void);

void read(void);

main()

{

read();

mergesort();

}

void merge(int low,int mid,int high)

{ int i=low, j=mid+1, k=low;

while(i<=mid && j<=high)

{

if(a[i]<a[j]) { b[k]=a[i]; i++; }

else { b[k]=a[j]; j++; }

k++;

}

while(i<=mid) b[k++]=a[i++];

while(j<=high) b[k++]=a[j++];

for(i=low;i<=high;i++) a[i]=b[i];

}

void mergesort()

{ int i,j,temp;

write();

for(i=0;i<size;i+=2)

if(a[i]>a[i+1])

{temp=a[i+1];a[i+1]=a[i];a[i]=temp;}

write();

i=2;

while(i<size)

{ j=0;

while(j<size)

{merge(j,j+i-1,j+2*i-1);

j+=2*i;

}

write();

i*=2;

}

}

void read(void)

{

for(int i=0; i<size; i++) a[i]=rand()% 10;

}

void write(void)

{

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

printf("\n\n");

}



Wyszukiwarka

Podobne podstrony:
minmax3, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l6
pisz, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l6
merger, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l6
minmax1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l6
minmax2, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l6
hanoi, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l6
11-nkb~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
2-eukl~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
1-algo~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
c-zadania-w3, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, kol
2-eukl~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
x, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, kol 1
2-eukl~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
2-eukl~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
2-eukl~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
c klasowka1 rozwiazania, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programo
pp projekty2004, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania
pattern, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l8

więcej podobnych podstron