Selain menggunakan metode gelembung yang telah dibahas sebelumnya, pengurutan array juga bisa menggunakan metode maksimum-minimum. Contoh program berikut ini akan menunjukkannya :
#include <iostream>using namespace std;int main() {// Mendeklarasikan array dengan 7 buah elemen// yang bertipe intint A[7];// Mendeklarasikan variabel-variabel bantu// yang diperlukanint j, k, C, temp;// Memasukkan nilai arraycout<<"Masukkan nilai pada elemen array:"<<endl;for (C=0; C<7; C++) {cout<<"A["<<C<<" ] = "; cin>>A[C];}// Menampilkan nilai sebelum diurutkancout<<"\nNilai elemen array sebelum diurutkan:"<<endl;for (C=0; C<7; C++) {cout<<"A["<<C<<"] = "<<A[C]<<endl;}// Melakukan pengurutan elemen array// dengan metode maksimum-minimumint jmaks, U=6;for (j=0; j<6; j++) {jmaks = 0;for (k=1; k<=U; k++) {if (A[k] > A[jmaks]) {jmaks = k;}}temp = A[U];A[U] = A[jmaks];A[jmaks] = temp;U--;}// Menampilkan nilai setelah diurutkancout<<"\nNilai elemen array setelah diurutkan:"<<endl;for (C=0; C<7; C++) {cout<<"A["<<C<<"] = "<<A[C]<<endl;}return 0;}
Contoh pengurutan maksimum
indeks = 0 1 2 3 4 5 6
array = [ 6 3 7 2 5 1 4 ]
tahap 1 : dilakukan pengulangan dari indeks 0 - 6
tahap 1a : dilakukan pencarian nilai maksimum dari elemen array, didapat angka 7 pada indeks ke 2
tahap 1b : dilakukan swap indeks ke 2 dengan indeks yang paling kanan yaitu indeks ke 6
Hasil sementara pada tahap ini :
indeks = 0 1 2 3 4 5 6
array = [ 6 3 4 2 5 1 7 ]
tahap 2 : dilakukan pengulangan tetapi rangenya dikurangi 1, dari 0-5
tahap 2a : dilakukan pencarian nilai maksimum dari elemen array, didapat angka 6 pada indeks ke 0
tahap 2b : dilakukan swap indeks ke 0 dengan indeks yang paling kanan yaitu indeks ke 5
Hasil sementara pada tahap ini :
indeks = 0 1 2 3 4 5 6
array = [ 1 3 4 2 5 6 7 ]
tahap 3 : dilakukan pengulangan tetapi rangenya dikurangi 1, dari 0-4
tahap 3a : dilakukan pencarian nilai maksimum dari elemen array, didapat angka 5 pada indeks ke 4
tahap 3b : dilakukan swap indeks ke 4 dengan indeks yang paling kanan yaitu indeks ke 4
Hasil sementara pada tahap ini :
indeks = 0 1 2 3 4 5 6
array = [ 1 3 4 2 5 6 7 ]
tahap 4 : dilakukan pengulangan tetapi rangenya dikurangi 1, dari 0-3
tahap 4a : dilakukan pencarian nilai maksimum dari elemen array, didapat angka 4 pada indeks ke 2
tahap 4b : dilakukan swap indeks ke 2 dengan indeks yang paling kanan yaitu indeks ke 3
Hasil sementara pada tahap ini :
indeks = 0 1 2 3 4 5 6
array = [ 1 3 2 4 5 6 7 ]
tahap 5 : dilakukan pengulangan tetapi rangenya dikurangi 1, dari 0-2
tahap 5a : dilakukan pencarian nilai maksimum dari elemen array, didapat angka 3 pada indeks ke 1
tahap 5b : dilakukan swap indeks ke 1 dengan indeks yang paling kanan yaitu indeks ke 2
Hasil sementara pada tahap ini :
indeks = 0 1 2 3 4 5 6
array = [ 1 2 3 4 5 6 7 ]
tahap 6 : dilakukan pengulangan tetapi rangenya dikurangi 1, dari 0-1
tahap 6a : dilakukan pencarian nilai maksimum dari elemen array, didapat angka 2 pada indeks ke 1
tahap 6b : dilakukan swap indeks ke 1 dengan indeks yang paling kanan yaitu indeks ke 1
Hasil sementara pada tahap ini :
indeks = 0 1 2 3 4 5 6
array = [ 1 3 2 4 5 6 7 ]
0 Response to "Sorting Elemen Array Menggunakan Metode Maksimum-Minimum C / C++"
Post a Comment