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;
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