Professional Documents
Culture Documents
Nama
Kelas
Prodi
Manajemen Informatika
return 0 ;
temp = x [ pivot ] ;
x [ pivot ] = x [ j ] ;
x [ j ] = temp ;
quicksort ( x , pertama , j - 1 ) ;
quicksort ( x , j + 1 , terakhir) ;
}
L.1
L.2
L.3
L.4
L.5
3
3
3
3
3
7
7
4
4
4
8
8
2
2
2
5
4
7
1
1
2
2
8
5
5
1
1
1
7
5
9
9
9
9
9
5
5
5
8
8
4
5
5
5
7
L.6
L.7
2
1
1
2
3
3
4
4
5
5
5
5
7
7
8
8
9
9
Kelas
Prodi
Manajemen Informatika
#include<stdio.h>
void merge(int kiri,int tengah,
int kanan)
{
int h,i,j,b[50],k;
h=kiri;
i=kiri;
j=tengah+1;
while((h<=tengah)&&(j<=kanan))
{
if(bilangan[h]<=bilangan[j])
{
b[i]=bilangan[h];
h++;
}
else
{
b[i]=bilangan[j];
j++;
}
i++;
}
if(h>tengah)
{
for(k=j;k<=kanan;k++)
{
b[i]=bilangan[k];
i++;
}
}
else
{
for(k=h;k<=tengah;k++)
{
b[i]=bilangan[k];
i++;
}
}
for(k=kiri;k<=kanan;k++)
bilangan[k]=b[k];
}
void merge_sort(int kiri,
int kanan)
{
int tengah;
if(kiri<kanan)
{
tengah=(kiri+kanan)/2;
merge_sort(kiri,tengah);
merge_sort(tengah+1,
kanan);
merge(kiri,tengah,
kanan);
}
22
10
15
Proses 1
1
L.1
L.2
10
22
15
3
3
15
8
2
2
8
Proses 2
L.1 10
L.2 3
22
10
3
15
15
22
2
2
8
8
Proses 3
L.1 3
L.2 3
10
2
15
8
22
10
2
15
8
22
22
10
Kelas
Prodi
Manajemen Informatika
#include<stdio.h>
void heapsort(int[],int);
main()
{
int n,i,a[50];
system("clear");
printf("\nMasukkan batas:");
scanf("%d",&n);
printf("\nMasukkan elemen:");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
heapsort(a,n);
printf("\nelemen diurutkan:\n");
for(i=0;i<n;i++)
printf("\t%d",a[i]);
printf("\n");
int i,t;
heapsort(a,n);
for(i=n-1;i>0;i--)
t = a[0];
a[0] = a[i];
a[i] = t;
menyesuaikan(a,i);
}
{
for(k=1;k<n;k++)
item = a[k];
i = k;
j = (i-1)/2;
while((i>0)&&(item>a[j]))
a[i] = a[j];
i = j;
j = (i-1)/2;
a[i] = item;
}
}
int i,j,item;
j = 0;
item = a[j];
i = 2*j+1;
while(i<=n-1)
a[j] = a[i];
j = i;
i = 2*j+1;
}
else
}
a[j] = item;
break;