Bazı eski c kodlarını C++ içine yüklüyorum ve bir dizide uygulanan bağlantılı bir listeyle karşılaşıyorum. Öğe, basit bir yapıdır: dizini biliyorsanız, bir dizide, veriye hızlı erişim vardır. Bağlantılı liste yönü, öğelerin etrafında hareket etmesini ve listeden "silinmesini" sağlar. Öğeler, kullanım sıklığına (MRU için ve LRU için aşağı) göre listede taşınabilir.Nasıl uygulanacağı hakkında düşünceler?
Bunu uygulamak için başka bir dizi kullanmanın daha iyi bir yolunu bulmak istiyorum. STL'yi kullanmak isterdim, fakat hangi konteynerin en iyi kullanılacağından emin değilim.
Herhangi birinin bir fikri var mı?
Rastgele erişim hızı çok önemli mi? Yani, yinelemenin aksine * çok * oluyor mu? – Guy
Tamamen kodun geri kalanı tarafından nasıl kullanıldığına bağlıdır. Doğrudan erişim, öğelere erişmenin yaygın bir yoludur veya çoğunlukla listeye adım atılarak yapılır mı? Bazı elemanlar diğerlerine göre daha sık erişiliyor mu? – suszterpatt
Bir keresinde konteynırın ortasından öğeler eklerken/kaldırıyor olsanız bile, std :: vector'nın std :: list'den neredeyse her zaman daha iyi bir seçim olduğunu iddia eden bir makaleyi okudum (ve savundum) . Makaleyi şimdi bulamıyorum, bu yüzden bunu bir yanıt yerine yorum olarak ekledim. Makaleden haberdar olan başka bir kişinin bir bağlantı yayınlayabilmesi için minnettar olurum. –