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 ?
C++ Benzersiz ID Oluşturma
3
●234
- 07-03-2019, 23:03:33Merhaba, bir sistem üzerinde çalışıyorum ve bir yerde takıldım. Şimdi bir fonkiyonumuz var diyelim.
- 08-03-2019, 00:16:54"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:53eğ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:37Hocam bu işlerde biraz yeniyim açıkcası. Biraz inceledim ama tam kavrayamadım. Eğer zahmet olmazsa yapıp paylaşırsanız çok sevinirim.emregll adlı üyeden alıntı: mesajı görüntüle
Hocam bana integer bir değer lazım.VoyL adlı üyeden alıntı: mesajı görüntüle