Jumat, 22 November 2013

Pemrograman C, Untuk Sorting Data

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int data[10],data2[10];
int n;
void tukar(int a,int b){
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void bubble_sort(){
int i;
for(i=1;i<n;i++){
int j;
for(j=n-1;j>=i;j--){
if(data[j]<data[j-1]) tukar(j,j-1);
}
}
printf("bubble sort selesai!\n");
}
void exchange_sort(){
int i;
for (i=0; i<n-1; i++){
int j;
for(j = (i+1); j<n; j++){
if (data [i] > data[j]) tukar(i,j);
}
}
printf("exchange sort selesai!\n");
}
void selection_sort(){
int pos,i,j;
for(i=0;i<n-1;i++){
pos = i;
for(j = i+1;j<n;j++){
if(data[j] < data[pos]) pos = j;
}
if(pos != i) tukar(pos,i);
}
printf("selection sort selesai!\n");
}
void insertion_sort(){
int temp,i,j;
for(i=1;i<n;i++){
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0){
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
printf("insertion sort selesai!\n");
}
void Input(){
printf("Masukkan jumlah data = ");scanf("%d",&n);
int i;
for(i=0;i<n;i++){
printf("Masukkan data ke-%d = ",(i+1));scanf("%d",&data[i]);
data2[i] = data[i];
}
}
void AcakLagi(){
int i;
for(i=0;i<n;i++){
data[i] = data2[i];
}
printf("Data sudah teracak!\n");
}
void Tampil(){
printf("Data : ");
int i;
for(i=0;i<n;i++){
printf("%d ",data[i]);
}
printf("\n");
}
int main(int argc, char *argv[]) {
int pil;
do{
printf("1. Input Data\n");
printf("2. Bubble Sort\n");
printf("3. Exchange Sort\n");
printf("4. Selection Sort\n");
printf("5. Tampilkan Data\n");
printf("6. Acak\n");
printf("7. Exit\n");
printf("Pilihan = ");scanf("%d",&pil);
switch(pil){
case 1:Input();break;
case 2:bubble_sort();break;
case 3:exchange_sort();break;
case 4:selection_sort();break;
case 5:Tampil();break;
case 6:AcakLagi();break;
}
getch();
}while(pil!=7);
return 0;
}

Tidak ada komentar:

Posting Komentar