Professional Documents
Culture Documents
Bubble Sort
Bubble Sort
#include <stdio.h>
#define N 20
int bubble(int n);
int i,j,A[N];
main()
{
int jml;
printf("\t METODE BUBBLE SORT \n\n");
printf("Masukkan jumlah bilangan: ");
scanf("%d",&jml);
printf("\n");
// input data
for (i=0;i<jml;i++)
{
printf("Bilangan ke %d : ",i+1);
scanf("%d",&A[i]);
}
printf("\n");
// mengurutkan data
bubble(jml);
// menampilkan data
printf("Data yang sudah terurut : \n");
for (i=0;i<jml;i++)
{
printf("%d\n",A[i]);
}
}
// fungsi bubble
int bubble(int n)
{
int temp;
for (i=1;i<=n-1;i++)
{
for (j=i;j<n;j++)
{
if (A[i-1]>A[j])
{
temp = A[i-1];
A[i-1] = A[j];
A[j] = temp;
}
}
}
}
//marge sort
#include <stdio.h>
int total,data[10],salin[10];
void input(){
printf("\t METODE MERGE SORT \n\n");
printf("masukkan jumlah bilangan = ");scanf("%d",&total);
for(int a=0;a<total;a++){
printf("bilangan ke %d = ",a+1);scanf("%d",&data[a]);
}
}
void sort(){
devide(salin,0,total-1);
}
void view(){
for(int a=0;a<total;a++){
printf("%d ",data[a]);
}
printf("\n");
}
int main(){
input();
printf("sebelum di- sorting\n");
view();
sort();
printf("sesudah di- sorting\n");
view();
}
//Quick Sort
#include <stdio.h>
void quickSort( int[], int, int);
int total;
int main()
{
int total;
int a[1000];
int i;
printf("\t METODE QUICK SORT \n\n");
printf("masukkan jumlah bilangan = ");scanf("%d",&total);
for(i=0;i<total;i++){
printf("bilangan ke %d = ",i+1);scanf("%d",&a[i]);
}
quickSort( a, 0, total-1);
if( l < r )
{
// divide and conquer
j = partition( a, l, r);
quickSort( a, l, j-1);
quickSort( a, j+1, r);
}
while( 1)
{
do ++i; while( a[i] <= pivot && i <= r );
do --j; while( a[j] > pivot );
if( i >= j ) break;
t = a[i]; a[i] = a[j]; a[j] = t;
}
t = a[l]; a[l] = a[j]; a[j] = t;
return j;
}
Algoritma quicksort:
if (right > left) then
pivIdx
left
partition (num,left,right,pivIdx)
num