• 07-03-2019, 23:03:33
    #1
    Merhaba, bir sistem üzerinde çalışıyorum ve bir yerde takıldım. Şimdi bir fonkiyonumuz var diyelim.

    int getID(){
    // kod içeriği
    return id;
    }
    
    void removeID(int i){
    //kod içeriği
    }
    Burada getID fonksiyonunu kullanarak bir ID çekeceğim. Çektiğim ID 0, 1, 2, 3, 4 olarak gidecek. Daha sonra sonra removeID fonksiyonu ile 2. olan ID değerini sileceğim. Tekrardan getID fonksiyonunu kullandığımda bana 2. olan ID verecek. Verdikten sonra tekrar kullanımda ise 5, 6, 7... şeklinde gidecek. Yardımcı olabilir misiniz ?
  • 08-03-2019, 00:16:54
    #2
    "Hashing" kavramını araştırabilirsiniz hocam.

    Edit: Biraz yanlış anlamışım demek istediğinizi.

    getID'de verdiğiniz en son değerin bir fazlasını bir değişkende tutun. Örneğin en son 5 döndüyse enSon adlı değişkende 6 olsun.
    Bir adet min priority queue(min heap) olsun.
    Her remove fonksiyonunda sildiğiniz değeri bu heape atın. getIDde ise ilk başta heape bakın heap boş değilse en küçük elemanı çeksin heap boşsa da enSon adlı değişkendeki değeri dönsün ve enSon adlı değeri tekrar döndüğü sayının bir fazlasına eşitlesin.
  • 08-03-2019, 08:56:53
    #3
    eğer sadece unique bir değere yani ID'ye ihtiyacın varsa, integer olmak zorunda değilse, en doğru yöntem guid generate etmektir.

    https://stackoverflow.com/questions/...f-guid-newguid
  • 08-03-2019, 20:16:37
    #4
    emregll adlı üyeden alıntı: mesajı görüntüle
    "Hashing" kavramını araştırabilirsiniz hocam.

    Edit: Biraz yanlış anlamışım demek istediğinizi.

    getID'de verdiğiniz en son değerin bir fazlasını bir değişkende tutun. Örneğin en son 5 döndüyse enSon adlı değişkende 6 olsun.
    Bir adet min priority queue(min heap) olsun.
    Her remove fonksiyonunda sildiğiniz değeri bu heape atın. getIDde ise ilk başta heape bakın heap boş değilse en küçük elemanı çeksin heap boşsa da enSon adlı değişkendeki değeri dönsün ve enSon adlı değeri tekrar döndüğü sayının bir fazlasına eşitlesin.
    Hocam bu işlerde biraz yeniyim açıkcası. Biraz inceledim ama tam kavrayamadım. Eğer zahmet olmazsa yapıp paylaşırsanız çok sevinirim.

    VoyL adlı üyeden alıntı: mesajı görüntüle
    eğer sadece unique bir değere yani ID'ye ihtiyacın varsa, integer olmak zorunda değilse, en doğru yöntem guid generate etmektir.

    https://stackoverflow.com/questions/...f-guid-newguid
    Hocam bana integer bir değer lazım.