स्थिति: एक अनुरूपित वातावरण में कई संस्थाएं हैं, जिनमें "टिक्स" नामक समय की कृत्रिम धारणा है, जिसका वास्तविक समय कोई लिंक नहीं है। प्रत्येक इकाई इसे स्थानांतरित करने के लिए ले जाती है, लेकिन कुछ दूसरों की तुलना में तेज़ी से होती हैं। यह एक देरी से, ticks में व्यक्त किया जाता है।एक अंतिम काल्पनिक एटीबी-शैली कतार वापस करने के लिए कौन सी डेटा संरचना (ओं)? (देरी कतार)
एक एक बी ए
मैं क्या डेटा संरचना का उपयोग करने के सोच रहा हूँ: तो इकाई एक 10 की देरी, और बी 25. इस मामले में बारी क्रम जाना होगा हो सकता है। सबसे पहले मैंने स्वचालित रूप से "प्राथमिकता कतार" सोचा लेकिन देरी "वर्तमान समय" के सापेक्ष हैं जो मामलों को जटिल बनाती है। इसके अलावा, बड़ी देरी वाली संस्थाएं होंगी और यह असुरक्षित नहीं है कि कार्यक्रम लाखों टिकों के माध्यम से चलाएगा। यह एक आंतरिक काउंटर के लिए मूर्खतापूर्ण लगता है जब देरी स्वयं अपेक्षाकृत छोटी रहती है और वृद्धि नहीं करती है।
तो आप इसे कैसे हल करेंगे?
यदि "प्रतीक्षा करने का समय" द्वारा ढेर को ऑर्डर करने के बजाय आप इसे "उस समय" जिस पर यह इकाई अगली कार्रवाई करेंगे "द्वारा आदेश दें, तो आपको प्रत्येक इकाई के" प्रतीक्षा करने का समय "कम करने की आवश्यकता नहीं है। –
गिनती करते समय आपको Int या Int64 की सीमाओं से अधिक होने पर एक बार रोलिंग करना पड़ सकता है (यदि आपकी लड़ाई लंबी चल रही है)। – vfilby
मेरा मतलब अगली कार्रवाई तक समय था, लेकिन प्रतीक्षा करने का समय कम टाइपिंग था। – BeWarned