Kamis, 23 Juni 2011

sorting by insertion


5.4 sorting by insertion
1. masalah 
Diberikan himpunan bilangan n secara acak mengurutkan mereka dengan metode penyisipan.
2. input dan output
N= integer larik array [1…100]of
                        Integer
K, j, temp =integer
3. algoritma
            Mengurutkan angka dengan cara penyisispan insertion sort
Deskripsi
For kß 2 to n do
Temp := data [k];
J: - k-1;
While  (temp <= data [j] and (j> 1) do data [j+1] : = data [j];
J:= j-1;
End while
If (temp > = data [j] then data [j+1]:= temp
Else
 data [j+1]:= data [j];
data [j] := temp
end if
end for


4. coding
Class sorting {
Friend istream & operator >> (istream &  in, sorting & a);
Friend ostream & operator << (ostream & our, sorting & a);

Public :
Void baca_data();
Void cetak_data();
Void buule_data();
Void insertion_sort();
Void selection_sort();

Private:
Void minimum (int & , int & );
Void tukar (int&, int&);
Int data [10], n;
};
Istream& operator >> (istream& in, sorting& a){
Cout << “banyak data  : ” ;
In >> a.n;
For cin I =0 ; I < a.n ;i++){
Cout << “data ke – “ << i+ 1<<” : “ ;
In >> a. data [i];
}
Return in;
}
Ostream& operator << (ostream& out, sorting& a ){
For (int I ; 0 ; I < a. n ; i++)
Out << a.data [i] <<”  “ ;
Out << “ in “ ;
Return out ;
}
Void sorting :: tukar (int& a , int& b)
Int temp ;
A= b;
B= temp;
}
Void sorting :: insertion_sort()
{
int I,j, temp;
cout << “ data pertama sudah ada di tangan kiri yaitu :” << data [0] << ‘ \ n’;
for  | j = I  ; j < n ; j ++)
{
Temp = data [j];
Cout << \\ n data ke – “ << j + 1 << “yaitu “ << data [j] << “ diambil dari meja \n;
Cout << “ dilakukan penggeseran elemen ;\ n;
For ( I = j -1 ; ( 1 > = o) && (data [i] > temp ) ; i--)
{
Cout << “ data pada posisi ke – [ “ << I + 1 << “]
Di geser ke posisi [ “ << I + 2 << “ ] \ n;
Data [ i+1 ] = data [i];
}
Cout  << “ data baru masuk pada posisi ke – [ “ << I “ ] \ n” ;
Data [ i+1] = temp ;
Cout (int k =0 ; k < = j ; k ++)
Cout << data [k] <<” “;
Getch ();
}
}
Void main (){
Sorting angka ;
Cin >>. Angka ;
Cin >> angka  ;
Anka. Insertion-sort ();
Cout << “\ n hasil (akhir adalah : \ n” ;
Cout << angka ;
}





Tidak ada komentar:

Posting Komentar