Vous êtes sur la page 1sur 4

INSERTION SORT

--------------------------------------------------------------------------# include <iostream.h>


/* fungsi tampil */
void tampil (int data[], int n)
{
int i;
for (i=0; i<n; i++)
cout<<data[i]<<" ";
cout<<"\n";
}
/* fungsi urut data metode sisip */
void insert (int data[], int n)
{
int i,k,x,ketemu;
for (k=1; k<n; k++)
{
x=data[k];
//sisipkn x ke dalam data [0..k-1]//
i=k-1;
ketemu=0;
while((i>=0)&&(!ketemu))
{
if(x<data[i])
{
data[i+1]=data[i];
i=i-1;
}
else ketemu=1;
data[i+1]=x;
}
}
}
/* program utama */
int main()
{
const jumdat=8;
int i;
int data[]={25, 57, 48, 37, 12, 92, 80, 33};
insert(data, jumdat);
/* hasil pengurutan */
cout<<"Hasil Pengurutan Data :\n";
tampil (data ,jumdat);
return 0;
}
===========================================================================
SISIP BINER
------------------------------------------------------------------------# include <iostream.h>
/* fungsi tampil */
void tampil (int data[], int n)
{
int i;
for (i=0; i<n; i++)
cout<<data[i]<<" ";

cout<<"\n";
}
/* fungsi urut data metode sisip_binary */
void insert_biner (int data[], int n)
{
int j,k,x,kiri,kanan,tengah;
for (k=1; k<n; k++)
{
x=data[k];
//sisipkn x ke dalam data [0..k-1]//
kiri=0;
kanan=k-1;
while(kiri<=kanan)
{
//pencarian biner//
tengah=(kiri+kanan)/2;
if(x<data[tengah])
kanan=tengah-1;
else
kiri=tengah+1;
}
//melakukan pergeseran//
for(j=k-1;j>=kiri;j--)
data[j+1]=data[j];
//tempatkan x ke data[kiri]//
data[kiri]=x;
}
}
/* program utama */
int main()
{
const jumdat=8;
int i;
int data[]={35, 57, 99, 37, 12, 92, 80, 10};
insert_biner(data, jumdat);
/* hasil pengurutan */
cout<<"Hasil Pengurutan Data :\n";
tampil (data ,jumdat);
return 0;
}
==============================================================================
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void tampil(int data[], int n)
{
int i;
for(i=0;i<n;i++)
cout<<data[i]<<" ";
cout<<endl;
}
int partisi(int data[], int p, int r)
{

int x,i,j,tmp;
x=data[p];
i=p;
j=r;
while(1)
{
while (data[j]>x)
j=j-1;
while(data[i]<x)
i=i+1;
if(i<j)
{
tmp=data[i];
data[i]=data[j];
data[j]=tmp;
}
return j;
}
}
void quick_sort(int data[], int p, int r)
{
int q;
if(p<r)
{
q = partisi(data,p,r);
quick_sort(data,p,q);
quick_sort(data,q+1,r);
}
}
int main()
{
const jumdat=8;
int i;
int data[]={70,57,48,37,12,92,80,10};
quick_sort(data,0,jumdat);
cout<<"hasil pengurutan data : "<<endl;
tampil(data,jumdat);
getch();
}
==========================================================================
# include <iostream.h>
/* fungsi tampil */
void tampil (int data[], int n)
{
int i;
for (i=0; i<n; i++)
cout<<data[i]<<" ";
cout<<"\n";
}
/* fungsi urut data metode sisip */
void insert (int data[], int n)
{
int i,k,x,ketemu;
for (k=1; k<n; k++)
{
x=data[k];
//sisipkn x ke dalam data [0..k-1]//

i=k-1;
ketemu=0;
while((i>=0)&&(!ketemu))
{
if(x>data[i])
{
data[i+1]=data[i];
i=i-1;
}
else ketemu=1;
data[i+1]=x;
}
}
}
/* program utama */
int main()
{
const jumdat=8;
int i;
int data[]={35,76,90,2,87,16,71,80};
insert(data, jumdat);
/* hasil pengurutan */
cout<<"Hasil Pengurutan Data :\n";
tampil (data ,jumdat);
return 0;
}

Vous aimerez peut-être aussi