Tuesday, 15 November 2016

Sorting Bubblesort dalam bahasa C

hari ini saya akan membagikan sorting dalam bahasa C, sorting nya adalah Bubblesort

#include<stdio.h>
const int ASC = 0;
const int DESC = 1;
int i, j;

void cetakData(int data[], int bykData){
printf("HASIL:\n");
for(i=0;i<bykData;i++){
printf("%d ",data[i]);
}
printf("\n\n");
}
void tukarData(int &angka1, int &angka2){
int temp = angka1;
angka1 = angka2;
angka2 = temp;
}

void bubbleSort(int data[], int bykData, int tipeUrutan){
printf("BUBBLE SORT - ");
if(tipeUrutan==ASC){
printf("ASC\n");
}else if(tipeUrutan==DESC){
printf("DESC\n");
}
int cek;
do{
cek=0;
for(i=0; i<bykData; i++){
printf("%d ",data[i]);
}
for(i=bykData-1; i>=1; i--){
if(tipeUrutan == ASC){
if(data[i]<data[i-1]){
for(j=i; j>=1; j--){
if(data[j]<data[j-1]){
tukarData(data[j],data[j-1]);
cek++;
}else break;
}
}
}else if(tipeUrutan == DESC){
if(data[i]>data[i-1]){
for(j=i; j>=1; j--){
if(data[j]>data[j-1]){
tukarData(data[j],data[j-1]);
cek++;
}else break;
}
}
}
if(cek!=0)break;
}
printf("\n");
}while(cek!=0);
cetakData(data, bykData);
}

main(){
int data[10] = {5,2,1,4,7,9,3,5,8,6};
bubbleSort(data, 10, ASC);
        bubbleSort(data, 10, DESC);
}

No comments:

Post a Comment