SlideShare a Scribd company logo
/* MADE BY [MEITA JAYANI] 
/* BUBBLE SORT */ 
#include<stdio.h> 
#include<conio.h> 
void tampil(int L[100], int n) 
{ 
int j; 
printf("nLarik yang Anda masukkan: n"); 
for(j=0; j<n; j++) 
{ 
printf("%dt",L[j]); 
} 
printf("nn"); 
} 
void swap(int L[100], int j) 
{ 
int temp; 
temp=L[j]; 
L[j]=L[j+1]; 
L[j+1]=temp; 
} 
void BubbleSort(int L[100], int n) 
{ 
int i,j; 
int switched; 
int temp; 
i=0; 
switched=1; 
printf("Masukkan banyaknya elemen larik: "); scanf("%d",&n); 
printf("Masukkan elemen larik: n"); 
for(j=0; j<n; j++) 
{ 
scanf("%d",&L[j]); 
} 
tampil(L,n); 
while(switched==1 ) 
{ 
switched=0; 
j=0; 
while(j<(n-1)-i) 
{ 
if(L[j]>L[j+1]) 
{ 
swap(L,j); 
switched=1; 
} 
j++; 
} 
i++; 
} 
printf("Larik yang telah terurut :n"); 
for(j=0; j<n; j++) 
{ 
printf("%dt",L[j]); 
} 
} 
void main() 
{ 
int L[100],n,j; 
printf("t-----BUBBLE SORTING-----nnn");
BubbleSort(L,n); 
swap(L,j); 
getch(); 
} 
/* INSERTION SORT */ 
#include<stdio.h> 
#include<conio.h> 
main() 
{ 
int a[5]={3,2,8,4,1}; 
int i,j,x,n=5; 
for(i=0; i<n; i++) 
{ 
x=a[i]; 
j=i; 
while(j>0 && a[j-1]>x) 
{ 
a[j]=a[j-1]; 
j=j-1; 
a[j]=x; 
} 
} 
for(i=0; i<n; i++) 
{ 
printf("%d ",a[i]); 
} 
getch(); 
} 
/* SELECTION SORT */ 
#include<stdio.h> 
#include<conio.h> 
main() 
{ 
int a[10]={12,15,4,25,45,10,19,9,32,33}; 
int i,j,k,n=10,temp; 
for(i=0; i<=n-1; i++) 
{ 
for(j=i+1; j<=n; j++) 
{ 
if(a[i]>a[j]) 
{ 
temp=a[i]; 
a[i]=a[j]; 
a[j]=temp; 
}
} 
for(k=0; k<5; k++) 
{ 
printf("%d",a[k]); 
} 
printf("n"); 
} 
printf("HASIL= "); 
for(i=0; i<5; i++) 
{ 
printf("%d",a[i]); 
} 
} 
/* QUICK SORT */ 
#include<stdio.h> 
void quicksort(int [10],int,int); 
int main(){ 
int arr[20],n,i; 
printf("Masukkan n: "); 
scanf("%d",&n); 
printf("Masukkan %d elemen: ",n); 
for(i=0;i<n;i++) 
scanf("%d",&arr[i]); 
quicksort(arr,0,n-1); 
printf("elemen tersortir: "); 
for(i=0;i<n;i++) 
printf(" %d",arr[i]); 
return 0; 
} 
void quicksort(int arr[10],int la,int lb){ 
int pivot,j,temp,i; 
if(la<lb){ 
pivot=la; 
i=la; 
j=lb; 
while(i<j){ 
while(arr[i]<=arr[pivot]&&i<lb) 
i++; 
while(arr[j]>arr[pivot]) 
j--; 
if(i<j){ 
temp=arr[i]; 
arr[i]=arr[j]; 
arr[j]=temp; 
} 
}
temp=arr[pivot]; 
arr[pivot]=arr[j]; 
arr[j]=temp; 
quicksort(arr,la,j-1); 
quicksort(arr,j+1,lb); 
} 
} 
/* MERGE SORT */ 
#include<stdio.h> 
#include<conio.h> 
void merge(int [],int ,int ,int ); 
void part(int [],int ,int ); 
int main() 
{ 
int arr[30]; 
int i,n; 
printf("nt------- Merge sorting method -------nn"); 
printf("Enter total no. of elements : "); 
scanf("%d",&n); 
for(i=0; i<n; i++) 
{ 
printf("Enter %d element : ",i+1); 
scanf("%d",&arr[i]); 
} 
part(arr,0,n-1); 
printf("nt------- Merge sorted elements -------nn"); 
for(i=0; i<n; i++) 
printf("%d ",arr[i]); 
getch(); 
return 0; 
} 
void part(int arr[],int min,int max) 
{ 
int mid; 
if(min<max) 
{ 
mid=(min+max)/2; 
part(arr,min,mid); 
part(arr,mid+1,max); 
merge(arr,min,mid,max); 
} 
} 
void merge(int arr[],int min,int mid,int max) 
{ 
int tmp[30]; 
int i,j,k,m; 
j=min; 
m=mid+1; 
for(i=min; j<=mid && m<=max ; i++) 
{ 
if(arr[j]<=arr[m]) 
{ 
tmp[i]=arr[j]; 
j++;
} 
else 
{ 
tmp[i]=arr[m]; 
m++; 
} 
} 
if(j>mid) 
{ 
for(k=m; k<=max; k++) 
{ 
tmp[i]=arr[k]; 
i++; 
} 
} 
else 
{ 
for(k=j; k<=mid; k++) 
{ 
tmp[i]=arr[k]; 
i++; 
} 
} 
for(k=min; k<=max; k++) 
arr[k]=tmp[k]; 
} 
/* SHELL SORT */ 
#include<stdio.h> 
#include<conio.h> 
void printarray(int arr[100], int n); 
void shellsort(int arr[100], int n); 
int main() 
{ 
int arr[100],n; 
printf("t -----SHELL SORT-----nnn"); 
shellsort(arr,n); 
getch(); 
} 
void printarray(int arr[100], int n) 
{ 
int i; 
printf("nArray : [ "); 
for (i=0;i<n;i++) 
{ 
printf("%d ",arr[i]); 
} 
printf("]n"); 
} 
void shellsort(int arr[100], int n) 
{ 
int i,j,k,temp; 
printf("Masukkan banyak elemen : "); scanf("%d", &n);
for(i=0; i<n; i++) 
{ 
printf("nMasukkan elemen ke-%d : ",i+1); 
scanf("%d",&arr[i]); 
} 
printf("nArray sebelum terurut : [ "); 
for (i=0;i<n;i++) 
{ 
printf("%d ",arr[i]); 
} 
printf("]n"); 
for(i=n/2; i>0; i=i/2) 
{ 
for(j=i; j<n; j++) 
{ 
for(k=j-i; k>=0; k=k-i) 
{ 
if(arr[k+i]>=arr[k]) 
{ 
break; 
} 
else 
{ 
temp=arr[k]; 
arr[k]=arr[k+i]; 
arr[k+i]=temp; 
} 
printarray(arr,n); 
} 
} 
} 
printf("nnArray setelah terurut : n"); 
for(i=0; i<n; i++) 
{ 
printf("%dt",arr[i]); 
} 
}
for(i=0; i<n; i++) 
{ 
printf("nMasukkan elemen ke-%d : ",i+1); 
scanf("%d",&arr[i]); 
} 
printf("nArray sebelum terurut : [ "); 
for (i=0;i<n;i++) 
{ 
printf("%d ",arr[i]); 
} 
printf("]n"); 
for(i=n/2; i>0; i=i/2) 
{ 
for(j=i; j<n; j++) 
{ 
for(k=j-i; k>=0; k=k-i) 
{ 
if(arr[k+i]>=arr[k]) 
{ 
break; 
} 
else 
{ 
temp=arr[k]; 
arr[k]=arr[k+i]; 
arr[k+i]=temp; 
} 
printarray(arr,n); 
} 
} 
} 
printf("nnArray setelah terurut : n"); 
for(i=0; i<n; i++) 
{ 
printf("%dt",arr[i]); 
} 
}

More Related Content

What's hot (20)

DOCX
C - Pattern - Code - [Future Programming]
Future Programming
 
PDF
Alocação Dinâmica em C
Luiz Francisco Bozo
 
DOCX
listing output program C
AdjievanGestu
 
TXT
N primo clase programa
Leydyca Leydyca
 
DOCX
Program to remove Left factoring
Shraddha Patel
 
PDF
Ooprc3a
Ankit Dubey
 
DOC
C language program
Sk Sarfaraz
 
DOC
Absolute Loader
ksanthosh
 
PDF
Quick sort
Hitesh Kumar
 
DOC
Scanfill polygon
Sonia Pahuja
 
DOCX
(Meta 4) ejemplo calcular la mitad de un numero dev c++
Eli Diaz
 
PDF
07 3 do-while반복문
Changwon National University
 
PDF
C언어 스터디 강의자료 - 3차시
Junha Jang
 
DOC
Selection
innocentisha
 
PDF
12 2 문자열 응용
Changwon National University
 
PDF
C언어 스터디 강의자료 - 2차시
Junha Jang
 
PDF
C언어 스터디 강의자료 - 4차시
Junha Jang
 
C - Pattern - Code - [Future Programming]
Future Programming
 
Alocação Dinâmica em C
Luiz Francisco Bozo
 
listing output program C
AdjievanGestu
 
N primo clase programa
Leydyca Leydyca
 
Program to remove Left factoring
Shraddha Patel
 
Ooprc3a
Ankit Dubey
 
C language program
Sk Sarfaraz
 
Absolute Loader
ksanthosh
 
Quick sort
Hitesh Kumar
 
Scanfill polygon
Sonia Pahuja
 
(Meta 4) ejemplo calcular la mitad de un numero dev c++
Eli Diaz
 
07 3 do-while반복문
Changwon National University
 
C언어 스터디 강의자료 - 3차시
Junha Jang
 
Selection
innocentisha
 
12 2 문자열 응용
Changwon National University
 
C언어 스터디 강의자료 - 2차시
Junha Jang
 
C언어 스터디 강의자료 - 4차시
Junha Jang
 

C Program : Sorting : Bubble,

  • 1. /* MADE BY [MEITA JAYANI] /* BUBBLE SORT */ #include<stdio.h> #include<conio.h> void tampil(int L[100], int n) { int j; printf("nLarik yang Anda masukkan: n"); for(j=0; j<n; j++) { printf("%dt",L[j]); } printf("nn"); } void swap(int L[100], int j) { int temp; temp=L[j]; L[j]=L[j+1]; L[j+1]=temp; } void BubbleSort(int L[100], int n) { int i,j; int switched; int temp; i=0; switched=1; printf("Masukkan banyaknya elemen larik: "); scanf("%d",&n); printf("Masukkan elemen larik: n"); for(j=0; j<n; j++) { scanf("%d",&L[j]); } tampil(L,n); while(switched==1 ) { switched=0; j=0; while(j<(n-1)-i) { if(L[j]>L[j+1]) { swap(L,j); switched=1; } j++; } i++; } printf("Larik yang telah terurut :n"); for(j=0; j<n; j++) { printf("%dt",L[j]); } } void main() { int L[100],n,j; printf("t-----BUBBLE SORTING-----nnn");
  • 2. BubbleSort(L,n); swap(L,j); getch(); } /* INSERTION SORT */ #include<stdio.h> #include<conio.h> main() { int a[5]={3,2,8,4,1}; int i,j,x,n=5; for(i=0; i<n; i++) { x=a[i]; j=i; while(j>0 && a[j-1]>x) { a[j]=a[j-1]; j=j-1; a[j]=x; } } for(i=0; i<n; i++) { printf("%d ",a[i]); } getch(); } /* SELECTION SORT */ #include<stdio.h> #include<conio.h> main() { int a[10]={12,15,4,25,45,10,19,9,32,33}; int i,j,k,n=10,temp; for(i=0; i<=n-1; i++) { for(j=i+1; j<=n; j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }
  • 3. } for(k=0; k<5; k++) { printf("%d",a[k]); } printf("n"); } printf("HASIL= "); for(i=0; i<5; i++) { printf("%d",a[i]); } } /* QUICK SORT */ #include<stdio.h> void quicksort(int [10],int,int); int main(){ int arr[20],n,i; printf("Masukkan n: "); scanf("%d",&n); printf("Masukkan %d elemen: ",n); for(i=0;i<n;i++) scanf("%d",&arr[i]); quicksort(arr,0,n-1); printf("elemen tersortir: "); for(i=0;i<n;i++) printf(" %d",arr[i]); return 0; } void quicksort(int arr[10],int la,int lb){ int pivot,j,temp,i; if(la<lb){ pivot=la; i=la; j=lb; while(i<j){ while(arr[i]<=arr[pivot]&&i<lb) i++; while(arr[j]>arr[pivot]) j--; if(i<j){ temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } }
  • 4. temp=arr[pivot]; arr[pivot]=arr[j]; arr[j]=temp; quicksort(arr,la,j-1); quicksort(arr,j+1,lb); } } /* MERGE SORT */ #include<stdio.h> #include<conio.h> void merge(int [],int ,int ,int ); void part(int [],int ,int ); int main() { int arr[30]; int i,n; printf("nt------- Merge sorting method -------nn"); printf("Enter total no. of elements : "); scanf("%d",&n); for(i=0; i<n; i++) { printf("Enter %d element : ",i+1); scanf("%d",&arr[i]); } part(arr,0,n-1); printf("nt------- Merge sorted elements -------nn"); for(i=0; i<n; i++) printf("%d ",arr[i]); getch(); return 0; } void part(int arr[],int min,int max) { int mid; if(min<max) { mid=(min+max)/2; part(arr,min,mid); part(arr,mid+1,max); merge(arr,min,mid,max); } } void merge(int arr[],int min,int mid,int max) { int tmp[30]; int i,j,k,m; j=min; m=mid+1; for(i=min; j<=mid && m<=max ; i++) { if(arr[j]<=arr[m]) { tmp[i]=arr[j]; j++;
  • 5. } else { tmp[i]=arr[m]; m++; } } if(j>mid) { for(k=m; k<=max; k++) { tmp[i]=arr[k]; i++; } } else { for(k=j; k<=mid; k++) { tmp[i]=arr[k]; i++; } } for(k=min; k<=max; k++) arr[k]=tmp[k]; } /* SHELL SORT */ #include<stdio.h> #include<conio.h> void printarray(int arr[100], int n); void shellsort(int arr[100], int n); int main() { int arr[100],n; printf("t -----SHELL SORT-----nnn"); shellsort(arr,n); getch(); } void printarray(int arr[100], int n) { int i; printf("nArray : [ "); for (i=0;i<n;i++) { printf("%d ",arr[i]); } printf("]n"); } void shellsort(int arr[100], int n) { int i,j,k,temp; printf("Masukkan banyak elemen : "); scanf("%d", &n);
  • 6. for(i=0; i<n; i++) { printf("nMasukkan elemen ke-%d : ",i+1); scanf("%d",&arr[i]); } printf("nArray sebelum terurut : [ "); for (i=0;i<n;i++) { printf("%d ",arr[i]); } printf("]n"); for(i=n/2; i>0; i=i/2) { for(j=i; j<n; j++) { for(k=j-i; k>=0; k=k-i) { if(arr[k+i]>=arr[k]) { break; } else { temp=arr[k]; arr[k]=arr[k+i]; arr[k+i]=temp; } printarray(arr,n); } } } printf("nnArray setelah terurut : n"); for(i=0; i<n; i++) { printf("%dt",arr[i]); } }
  • 7. for(i=0; i<n; i++) { printf("nMasukkan elemen ke-%d : ",i+1); scanf("%d",&arr[i]); } printf("nArray sebelum terurut : [ "); for (i=0;i<n;i++) { printf("%d ",arr[i]); } printf("]n"); for(i=n/2; i>0; i=i/2) { for(j=i; j<n; j++) { for(k=j-i; k>=0; k=k-i) { if(arr[k+i]>=arr[k]) { break; } else { temp=arr[k]; arr[k]=arr[k+i]; arr[k+i]=temp; } printarray(arr,n); } } } printf("nnArray setelah terurut : n"); for(i=0; i<n; i++) { printf("%dt",arr[i]); } }