More Related Content
What's hot (20)
DOCX
(Meta 4) ejemplo calcular la mitad de un numero dev c++ Eli Diaz
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]);
}
}