Kamis, 03 Mei 2012

Sorting Arrays

Sorting Arrays pada C++


Sorting array digunakan untuk mengatur elemen dalam array dalam urutan numerik dari tertinggi ke nilai terendah (urutan mengecil) atau sebaliknya (urutan menaik). Jika array berisi nilai string, urutan abjad mungkin diperlukan (yang sebenarnya urutan menggunakan nilai ASCII).
Proses sorting array membutuhkan pertukaran nilai. Prosesnya sederhana, tapi sebuah komputer harus berhati-hati bahwa ada nilai yang hilang selama pertukaran ini. Perhatikan dilema berikut:
Misalkan kelas [1] = 10 dan kelas [2] = 8 dan Anda ingin menukar nilai-nilai mereka sehingga kelas yang [1] = 8 dan kelas [2] = 10. Anda TIDAK bisa hanya melakukan ini:
kelas [1] = kelas [2];
kelas [2] = kelas [1]; tidak bisa seperti ini.
Pada langkah pertama, nilai yang disimpan di kelas [1] akan dihapus dan diganti dengan kelas [2]. Hasilnya adalah bahwa kelas [1] dan kelas [2] sekarang memiliki nilai yang sama. Ups! Lalu apa yang terjadi pada nilai di kelas [1]?
Dalam rangka untuk menukar dua nilai, Anda harus menggunakan variabel ketiga,
/ / variabel bertukar
temp = kelas [1];
kelas [1] = kelas [2];
kelas [2] = temp;


Macam-macam Jenis untuk Sorting Array
Ada ratusan cara yang berbeda untuk array. Tujuan dasar dari setiap metode tersebut adalah sama yaitu untuk membandingkan setiap elemen array dan menukar mereka jika mereka berada dalam posisi yang salah. Untuk men-sorting array ada beberapa cara atau bisa juga disebut macamnya yaitu :
Ø  Bubble Sort
Ø  Exchange Sort
Ø  Insertion Sort
Ø  Quicksort
Ø  Selection sort
Ø  Shell sort
Ø  Merge sort
Ini adalah salah satu  contoh sorting array manggunakan cara Bubble :

//Program ini dijalankan menggunakan compiler Dev C++
#include <iostream.h>
#include <conio.h>
void masukan(int a[],int n)
{
for(int i=0;i<n;i++) {
cout << "Data ke "<<i<<" = "; cin >> a[i];
}
}
void urutkan(int a[], int n) {  
int temp;
for(int i=0;i<n;i++)
for(int j=0;j<(n-i);j++)
if (a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
void tampil(int a[], int n)
{
for(int i=0;i<n;i++)
cout << a[i] << "  ";
}
main() {
int a[100];
int jml;
cout << "Banyak data = "; cin >> jml;
masukan(a,jml);
urutkan(a,jml);
cout << "\n\nSetelah diurutkan ";
tampil(a,jml);
getch();
}

0 comments:

Posting Komentar