Bila ada suatu kasus kita ingin menswap atau menukar 2
variabel yg isinya angka terkadang kita harus menggunakan variable tambahan atau variable temp.
Misalnya contoh codenya seperti ini, maaf kalo code
nya pake java. :) void swap (int bil1, int bil2){
int temp;
temp= bil1;
bil1= bil2;
bil2= temp;
}
Penjelasannya code diatas ;
Misal bil1 = 10 , bil2 =7;
temp = 10,
bil1= 7,
bil2= 10.
Maka bil1 dan bil2 sudah tertukar.
Tapi bagaimana jika untuk melakuakn swap 2 bilangan tidak
boleh menggunakan variable temp atau variable tambahan lain.
Sebenarnya ada sedikit trik untuk menukar bil1 dan bil2
tanpa tambahan variable. Memakai operasi penjumlahan dan pengurangan.
Mari kita lihat contohnya.
void swap (int bil1, int bil2){
System.out.println("before swap bil1 "+bil1);
System.out.println("before swap bil2 "+bil2+"\n");
bil1= bil1+ bil2;
bil2=bil1-bil2;
bil1=bil1-bil2;
System.out.println("after swap bil1 "+bil1);
System.out.println("after swap bil2 "+bil2);
}
Penjelasannya seperti ini
Misal bil1 =10 , bil2 =7
Pertama2 ; bil1 diisi
penjumlahan bil1 + bil2 ( 10+7 =17)
Selanjutnya bil2 diisi bil1 yg sudah diisi penjumlahan
dikurang bil2 ( 17-7=10)
Terakhir bil1 diisi bil1 yg lama dikurangi bil2 (17-10=7)
Maka kedua bilangan tersebut otomatis tertukar bil1=7,
bil2=10
Code diatas mungkin hanya bisa dilakukan jika variabelnya
integer atau angka.
tidak akan bisa untuk menswap 2 buah string Misalnya.
Selamat mencoba trik diatas. :)
0 comments:
Post a Comment