क्या एक ऑर्डर की गई सूची को बनाए रखने के लिए एक डेटा संरचना है जो में परिचालित समय में निम्नलिखित कार्यों का समर्थन करती है ?
GetElement (k) : सूची के वें तत्व को लौटाएं ।
InsertAfter (x, y) : x के तुरंत बाद सूची में नया तत्व y डालें।
हटाएँ (x) : सूची से x निकालें।
पिछले दो ऑपरेशनों के लिए, आप मान सकते हैं कि x सीधे डेटा संरचना में एक पॉइंटर के रूप में दिया गया है; InsertElement y के लिए संबंधित सूचक देता है। सूची की शुरुआत में InsertAfter (NULL, y) सम्मिलित करता है।
उदाहरण के लिए, खाली डेटा संरचना के साथ शुरू करते हुए, निम्न संचालन क्रमबद्ध सूची को नीचे दिखाए अनुसार अद्यतन करते हैं:
- InsertAfter (NULL, a) [ए]
- सम्मिलित करें (NULL, b) [बी 0 ए]
- सम्मिलित करें (बी, सी) [बी, सी, ए]
- InsertAfter (ए, डी) [बी, सी, ए, डी]
- हटाएँ (ग) [खराब]
इन पाँच अद्यतनों के बाद, GetElement (2) को d वापस आना चाहिए, और GetElement (3) को एक त्रुटि वापस करनी चाहिए।