Ah! Tabii benim yöntem yalnızca ilk bulduğunu siliyor.
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
July 13, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Ah! Tabii benim yöntem yalnızca ilk bulduğunu siliyor. Ali -- |
July 13, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Uyarı için teşekkürler. ama aslında remove()'da hata yok çünkü davranışını öyle belgelemişler: Uyan eleman buldukça son taraftaki elemanları onun üstüne kaydırıyor. Yani asıl aralığın uzunluğunda değişiklik yapmıyor. Pek kullanışlı değil... :/ Ali -- |
July 13, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Alıntı (Salih Dinçer): >Diziyi, işleve 'ref' takısı ile uygulamadığımız halde cümle dizisine yan etkisi varmış! Dilimlerle ilgili olarak en çok dikkat edilmesi gereken konu o zaten. Dışardaki ve içerdeki dilimler aynı elemanlara eriştirmeye devam ediyorlar. Ali -- |
July 13, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Alıntı (Salih Dinçer): >cümlelerin üçünün de farklı anlamı var Güzelmiş. :) Ali -- |
July 14, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to huseyin | Gerçi Zafer bizi aydınlatacaktır ama sorabilir miyim; bildiğimiz basit bir dizide (sanırım vector list diyorlar) doğrudan içeriğe göre silme işlemi C#'da nasıl oluyor? Hatırladığım kadarıyla ArrayList de oluyordu ve bu çağrışımsal (associative) dizilere benzer bir şey... Bakınız şimdi şöyle bir kod buldum:
Aslında düşünüyorum da kendimiz ArrayList isminde bir sınıf oluşturup üyesini de 'int'[string] yapıp bu yapının .remove özelliğini keys ismini doğrudan vererek kullanabiliriz. Tabi sıralamalar hash algoritmasından dolayı değişecektir ama sıralı listeletmek istersek kendimiz .sort diye bir özellik yazabilmemiz de mümkün. -- |
July 14, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Alıntı (Salih Dinçer): >Gerçi Zafer bizi aydınlatacaktır ama sorabilir miyim; Ali'nin her zamanki gibi değerli katkıları ve Salih'in güzel incelemelerinin yanında Kadir ve Hüseyin'in değerli mesajları ile ilerleyen bu konuyu büyük bir keyifle takip ediyorum. İşlerin yoğunluğu ve D dili ile ilgili başka bir alanda tüm zamanımı harcadığım için çok katılamasamda mesajları sürekli takip ediyorum. Konuya dönersek, Salih seninde örneklediğin gibi C# ile ArrayList yapısından faydalanılabilir. ArrayList .Net'in ilk versiyonlarında gelen bir özellik daha çok dizi mantığına uygun. Bir ArrayList tanımlayıp tipi önemli olmadan veri ekleyebilirsiniz. ArrayList arka planda object tipini kullandığı için bize böyle bir imkan sağlıyor. Dezavantajı ise ArrayListten aldığınız her eleman için tip dönüşümü (http://onursalkaya.blogspot.com/2011/10/c-boxing-ve-unboxing.html) yapmak gerekir ki bu işlem maliyetlidir. Neyse konu daha uzun tabi, yeride burası değil tabi, ilgilenenler için deginmek istedim. Ama belki böyle bir topluluk yazılabilir veya D'nin SList yapısını incemekte fayda var. Yinede en güzeli küçük bir metotla işi çözmek sanırım ;) -- |
July 14, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to zafer | Alıntı: >Yinede en güzeli küçük bir metotla işi çözmek sanırım ;) Evet en güzeli küçük bir metodla işi çözmek kurcalarsak iş büyüyecek ve üzerinde tartişmaktan başka birşeyler yapaya fırsat kalmayacak :) -- |
July 14, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to huseyin | Teşekkürler Zafer, sanırım bahsettiğin SList olayı daha önce Şablonlar ile ilgili başlıkta verdiğin ve bunu aşağıya alıntıladığım olmalı? Gerçi benim asıl merak ettiğim; gerek C# olsun gerekse D, verdiği olanaklar ne kadar hızlı? Ayrıca C#'da remove ile dizi taşıyıcısından eleman çıkarıldığında aynı içerikteki tümünü (tıpkı önceki sayfada keşfettiğimiz gibi) siliyor mu? Alıntı (zafer:1341574190): >Alıntı (Salih Dinçer): >Öyle bir şey yapmalı ki stack yine dolduğunda bir event oluşsun ve yeni thread'lar meydana gelsin. Salih, anladığım kadarıyla bazı işlerin dinamik olarak yapılmasını istiyorsun. Dinamik olarak yeni diziler oluşturup bunları rastgele dolduran ve bir listeye ekleyen bir kod hazırladım. Belki bir yardımı olur diye düşünüyorum. Senin belirttigin gibi her dizi dolduğunda yeni bir dizi hazırlanıp onun üzerinde çalışılıyor.
|
July 14, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Ayrıca alıntılamalıyım; Ali hocamı yazmaya (onu tekrar ettirmeye) zorunda bırakmadan: Alıntı (acehreli:1329860299): >
> import std.algorithm;
> Çıktısı: '[4, 5, 13]' Çünkü find(), aralığın bulduğu noktadan sonrasını yine bir aralık olarak verir. Bulunan elemanı kullanmak istediğimizde sonuç.front deriz. -- |
July 14, 2012 Dinamik Dizi Eleman Silme | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Alıntı (Salih Dinçer): >Gerçi benim asıl merak ettiğim; gerek C# olsun gerekse D, verdiği olanaklar ne kadar hızlı? Bu tür konular genelde bir takım testler sonucu ortaya konabilicek durumlar. Dolayısıyla bu konuyu sana bırakmak bence en dogrusu olur :) Alıntı (Salih Dinçer): >Ayrıca C#'da remove ile dizi taşıyıcısından eleman çıkarıldığında aynı içerikteki tümünü (tıpkı önceki sayfada keşfettiğimiz gibi) siliyor mu? Dogrusunu istersen eğer silinecek deger ile arama yapıyorsan ben tüm değerlerin silinmesini beklerim. Ancak aşağıdaki örnek bunun böyle olmadığını gösteriyor. Neticede sanırım en güzeli önce kullanım kılavuzunu okumak ;) Hüseyin'in konusunu dağıtmamak için elimden geldiğince kısa tutmaya çalıştım.
Alıntı: >Before deletion: After deletion: -- |