Bubble sort adalah salah satu metode sorting atau mengurutkan dari data terkecil ke data terbesar ataupun dengan cara membandingkan elemen kesatu dengan elemen yang selanjutnya.
Konsep pada metode bubble sort ini adalah.
Konsep pada metode bubble sort ini adalah.
Pada kesempatan kali ini kita akan membuat contoh program bubble sort pada bahasa c++ yaitu mengurutka nilai terbesar ke nilai terkecil.
keterangan:
- baris 5 -7 = adalah pendeklarasian variabel dan array yang akan digunakan
dalam program
- baris 10-13 = Proses inputan yang disimpan dalam array yang dilakukan
dalam perulangan
- baris 14-26 = Proses pengurutan antara elemen satu dengan yang lain dan
apabila elemen satu lebih kecil daripada elemen berikutnya
(mengurtkan besar ke kecil) maka proses pertukaran akan
terjadi pada pada baris 23- 25.
- baris 29-32 = Setelah pengurutan berhasil maka nilai akan dicetak/
ditampilkan pada baris ini.
Maka apabila di compile maka hasilnya akan menjadi :
- baris 5 -7 = adalah pendeklarasian variabel dan array yang akan digunakan
dalam program
- baris 10-13 = Proses inputan yang disimpan dalam array yang dilakukan
dalam perulangan
- baris 14-26 = Proses pengurutan antara elemen satu dengan yang lain dan
apabila elemen satu lebih kecil daripada elemen berikutnya
(mengurtkan besar ke kecil) maka proses pertukaran akan
terjadi pada pada baris 23- 25.
- baris 29-32 = Setelah pengurutan berhasil maka nilai akan dicetak/
ditampilkan pada baris ini.
Maka apabila di compile maka hasilnya akan menjadi :
Bagi yang ingin mencoba berikut kodingan:
#include<iostream>
using namespace std; int main() { int a,k,c,d,g; k=4; int b[4]; cout<<"BUBBLE SORT BY ZEFTAADETYA.BLOGSPOT.COM"<<endl; cout<<"mengurutkan nilai dari besar ke kecil"<<endl<<endl; for(a=0;a<k;a++) { cout<<"Masukkan nilai "<<a+1<<" : ";cin>>b[a]; } for(a=0;a<k-1;a++) { for(d=a+1;d<k;d++) { c=a; if(b[c]<b[d]) { c=d; } g=b[c]; b[c]=b[a]; b[a]=g; } } cout<<"\n setelah diurutkan akan menjadi : \n"; for(a=0;a<k;a++) { cout<<b[a]<<" \n"; } } |
QUICK SORT
Algoritma quick short ditemukan oleh E.Hoare. Algoritma ini menggunakan metode rekursif sampai habis. Prinsipnya membagi data menjadi dua bagian yang sama (kiri dan kanan). Dimana data tengah menjadi pivot (pusat operasi). Kemudian kita akan mengumpukan data dengan nilai lebih kecil dari pivot disebelah kiri pivot, dan di kanan untuk yang lebih besar. Karena dimungkinkan bagian kiri dan kanan pivot tidak sama besarnya. maka dari itu tiap bagian di bagi menjadi dua lagi sehingga mempunyai pivot yang baru.
#include <iostream>
#include <conio.h>
using namespace std;
void quick_sort(int arr[], int left, int right)
{
int i = left, j = right;int tmp;
int pivot = arr[(left+right)/2];/* partition */
while (i<j){
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i<=j){
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;j--;
};
}; /* recursion */
if (left < j)
quick_sort(arr, left, j);
if (i < right)
quick_sort(arr, i, right);
}
int main()
{
int i,n,data[50];
cout<<"Masukan banyak data: ";cin>>n;
for(i=0;i<n;i++)
{cout<<"Masukan data ["<<i<<"] : ";cin>>data[i];}
cout<<"\nData sebelum diurutkan: "<<endl;
for(i=0;i<n;i++)
{
cout<<data[i]<<" ";
}cout<<"\n";
quick_sort(data,0,n-1);//hasil pengurutan
cout<<"\nHasil pengurutan:\n";
{
int i;
for (i=0;i<n;i++)
cout<<data[i]<<" ";
cout<<"\n";
}getch();
}
|
DAFTAR PUSTAKA






0 komentar:
Posting Komentar