Sorting Elemen Array Menggunakan Metode Maksimum-Minimum C / C++



    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 int
  int A[7];

  // Mendeklarasikan variabel-variabel bantu 
  // yang diperlukan
  int j, k, C, temp;

  // Memasukkan nilai array
  cout<<"Masukkan nilai pada elemen array:"
      <<endl;
  for (C=0; C<7; C++) {
    cout<<"A["<<C<<" ] = "; cin>>A[C];
  }

  // Menampilkan nilai sebelum diurutkan
  cout<<"\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-minimum
  int 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 diurutkan
  cout<<"\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