Node* currNode = head;
while (currNode && index
> currIndex)
....
Anlamadığım kısım buydu ama sonunda çözdüm. Çok çömezce bir hata. Aklımdayken yazayım da olur unuturum gene :P sonradan kendimle papaz olmayayım.
while içinde ve operandı var bu sadece her iki taraf da doğru olduğu takdirde sonuç doğru; diğer bütün durumlarda yanlış sonucunu üretecektir. Buraya kadar her şey normal.
Asıl bu operand soldan sağa işliyor. Yani önce soldaki işlemin sonucuna bakıyor, ardından sağdaki işlemin sonucuna bakıyor. Daha sonra bu sonuçların doğruluk değerlerine göre de bunları VE işlemine tutuyor.
E solda bir işlem yok. Buradaki- beni yanıltan- buyuktur işaretinin sağda olması ve ben her iki işlemi de şart olarak aldım. Yukarıda söylediğim gibi bu operandda ya iki farklı ifade olacak ,bunlar VE' lenecek ya da sola dayalı bir işlem olacak.
Burada sola dayalı işlem yok. Bütün işlem sağda! O zaman parantez içindeki durum iki farklı ifade için geçerlidir.
Yani;
while ( currNode !=NULL && index > currIndex)
...
Çok acemice, çok çömezce. Eziklik duygusu..
Hiç yorum yok:
Yorum Gönder