main kartu remi |
2. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil (untuk ascending), maka ditempatkan (diinsert) di posisi yang seharusnya.
3. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang.
#include
#include
#include
main()
{
int bil[10] = {5, 34, 32, 24, 72, 45, 3, 15, 63, 33};
int temp, x;
cout << "Data sebelum diurutkan:" << endl;
for(int i = 0; i < 10; i++)
cout << setw(3) << bil[i];
cout << endl;
//Insertion sort
for(int j = 1; j < 10; j++)
{
temp = bil[j];
x = j - 1;
while(bil[x] > temp)
{
bil[x+1] = bil[x];
x--;
}
bil[x+1] = temp;
}
cout << endl;
cout << "Data setelah diurutkan:" << endl;
for(int m = 0; m < 10; m++)
cout << setw(3) << bil[m];
getch();
}
Tampilan:
3 komentar:
Assalamu'alaikum...
Kang, mw tanya dikit boleh... :)
Kalau kita pake fungsi, kan suka pake nilai kembalian (return). Nah, gimana sih caranya memanggil nilai kembalian itu? Oh, ya kalau dipanggil di main bisa gak ya?
Makasih..
Wass...
wslm wr wb...
boleh bangett..
cara manggilnya sma dengan manggil prosedur biasa,
misal nama fungsinya
float LuasSegitiga(), tinggal panggil aja:
LuasSegitiga(), akan tetapi fungsi ini mempunyai nilai kembalian jdi hrus dipake nilai kmbaliannya,
bisa ditampilkan lgsung hasilnya, misal
cout << "Luasnya = " << LuasSegitiga();
maka akan ditampilkan nilai kmbalian dri fungsi LuasSegitiga().
atau nilai kmbaliannya smpan dalam variabel, misal
x = LuasSegitiga();
maka nilai x akan menyimpan nilai kembalian dr fungsi LuasSegitiga().
Jika anda ingin konversi ke Java tambahkan printah berikut ini:
while(x>=0 && bil[x] > temp)
Kalo tdk dtambahkan akan muncul out of bounds, krna Java terlalu sensitif untk indeks < 0.
Posting Komentar