Sorting dalam C++

Sorting dalam C++
Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik atau disebut juga ascending (dari data kecil ke data lebih besar) ataupun menurun/descending(dari data besar ke data kecil).
Metode Sorting:
1.      Bubble Sort / Pengurutan Gelembung
Bubble sort / pengurutan gelembung adalah suatu metode pengurutan gelembung yang diinspirasi oleh gelembung sabun yang ada di dalam permukaan air, karena berat jenis gelembung sabun lebih ringan daripada berat jenis air maka gelembung sabun akan selalu megapung. Prinsip pengapungan ini juga dipakai pada pengurutan gelembung. Elemen yang berharga paling kecil “diapungkan”, yang artinya diangkat ke atas (atau ke ujung paling kiri) melalui pertukaran.
Langkah-langkah:
  1. Baca array elemen yang diurutkan (N)
  2. Kerjakan langkah 3 untuk I=1 s/d N-1
  3. Kerjakan langkah 4 untuk J=1 s/d N-1
  4. Cek apakah A[J]>A[J+1}
  5. Selesai
Ilustrasi





















Contoh Program Bubble Sort

/* Bubble Sort */
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>

void bubble_sort(int array[], int size)
{
  int temp, i, j;
  for (i=0; i<size-1; i++)
    for (j=0; j<size-1-i; j++)
        if (array[j] > array[j+1])
            {
             temp= array[j];
             array[j]= array[j+1];
             array[j+1]= temp;
            }
}

2.      Selection Sort/Pengurutan Maksimum-minimum
Metode pengurutan ini didasarkan pada pemilihan elemen maksimum atau minimum kemudian mempertukarkan elemen maksimum-minimum tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan), selanjutnya elemen terujung itu kita “isolasi” dan tidak diikut sertakan pada proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen maksimum/minimum, maka metode ini disebut metode pemilihan ( selection).
Langkah-langkah:
  1. Baca array elemen yang diurutkan (n)
  2. Kerjakan langkah-langkah 3 sampai langkah 5, untuk i=1 s/d n-1
  3. Tentukan lokasi awal data terkecil Mindeks =1; kerjakan langkah 4 untuk j=i+1 s/d n
  4. Cari data terkecil dan catat lokasinya. Test apakah AMindeks > Aj? Jika ya, catat Mindeks = j
  5. Tukar nilai Amindeks dengan Aj
  6. Selesai

Ilustrasi





















3.      Insertion Sort/Pengurutan sisip


Insertion Sort/pengurutan sisip adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan pencarian beruntun. Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik.
Langkah-langkah:
1.      Baca array elemen yang akan diurutkan (n)
2.      Kerjakan langkah 3 sampai langkah 6 untuk i : 1 s/d n-1
3.      Tentukan elemen yang akan disisipkan (Temp = A [i] ;  j = i-1;)
4.      Kerjakan langkah 5 selama temp <A [j] dan j >= 0;
5.      A [j+1]= A[j] ; j =j-1;
6.      Tempatkan elemen A [j+1] = Temp;
7.      Selesai
Algoritma Straight Insertion Sort


    Deklarasi
       I,J,K,N : Integer
       Temp : real
       A : array [1..20] of real
    Deskripsi
       Input(N) {maksimal N=20}
       K traversal [1..N]
         Input (Af) {masukkan data sebanyak N}
       I traversal [2..N]
         Temp ß A1
       J ß I-1
       While (temp <Aj) and (J>=1) do
         Aj+1 ß Aj
         J ßJ-1
       Endwhile
       Aj+1 ß Temp

Ilustrasi



















Sumber:


Komentar

Postingan populer dari blog ini

Operator C++

Algoritma Pencarian