वेक्टर और सूची के बीच का अंतर

Anonim

वेक्टर बनाम सूची

अक्सर प्रोग्रामर, वैक्टर और सूचियों के लिए भ्रामक सी ++ और जावा में सरणी होल्डिंग्स में उपयोग किए जाने वाले दृश्य हैं। दो पद सरणी पतों को रखता है, लेकिन एरेज रखने के विभिन्न तरीकों के साथ।

मूल बात जिसे हमें जानना चाहिए, यह है कि एक सरणी एक "सूची" है, जिसमें कुछ या सभी डेटा हैं, i। ई।, पूर्णांक, अस्थायी बिंदु या वर्ण और कोष्ठक में परिभाषित "[] "

वास्तव में, वैक्टर और सूचियों के उदाहरणों के अनुसार कार्य करते हैं। तो इन दो शब्दों को एक-एक करके देखें।

वेक्टर

वेक्टरों का उपयोग सरणी धारण और तत्वों तक पहुंचने में किया जाता है। यहां आप "[]" ऑपरेटर का उपयोग करके किसी भी तत्व को बेतरतीब ढंग से एक्सेस कर सकते हैं। इसलिए सभी तत्वों या एक विशिष्ट तत्व को वेक्टर ऑपरेशन के साथ देखना आसान होता है। इसलिए यदि आप किसी वस्तु को अंत में, शुरुआत में या मध्य में डालते हैं, तो वैक्टर के पास एक प्लस बिंदु होता है क्योंकि आप यादृच्छिक पते तक पहुंच सकते हैं और वहां पर परिवर्तन कर सकते हैं। हालांकि, सूची वस्तुओं की तुलना में वैक्टर थोड़ा धीमा है वेक्टर को सिंक्रनाइज़ ऑब्जेक्ट्स के रूप में माना जाता है, यादृच्छिक पहुंच में कुशल होते हैं, और वे डेटा को एक सिंक की गई सूची से ठीक से पकड़ते हैं। जब कोई भी

मध्य (सूची) या सामने से डालने या हटाने की आवश्यकता नहीं है, तो एक वेक्टर को चुना जाता है।

सरणी में तत्वों की संख्या नाटकीय रूप से भिन्न हो सकती है

उदाहरण:

वेक्टर वी;

वी। डालें (वी। शुरू (), 3);

जोर दें (वी। आकार () == 1 && वी। क्षमता ()> = 1 && V [0] == 3);

-2 ->

सूचियां

सूचियां "दोहरे लिंक वाले अनुक्रम" हैं, जो आगे और पिछड़े ट्रवर्सल दोनों का समर्थन करती हैं। शुरुआत, समाप्ति, और बीच में सम्मिलन और विलोपन में लिया गया समय निरंतर है। लिंक्ड सूचियों के बीच सम्मिलन और विभाजन को तत्वों में किसी भी चलन को अमान्य नहीं करता है। केवल हटाना ही चलन को अमान्य करता है वे सिंक्रनाइज़ नहीं हैं इसलिए वे बेतरतीब ढंग से पहुंच नहीं सकते हैं। पुनरावृत्तियों का क्रम उपयोगकर्ता के अनुसार बदल सकता है, लेकिन यह तत्वों में किसी भी परिवर्तन को प्रभावित नहीं करता है। वे वैक्टर की तुलना में तेज़ हैं और प्रारंभ सूची, मध्य और तत्व सूची के अंत में प्रविष्टि और हटाने के लिए आदर्श हैं।

उदाहरण:

#include

// सूची वर्ग-टेम्पलेट परिभाषा

…।

इंट मुख्य ()

{< पूर्णांक सरणी [4] = {2, 6, 4, 8};

मानक: सूची मूल्य;

std:: सूची अन्य मूल्य;

सारांश:

1 कोई सूची सिंक्रनाइज़ नहीं है, जबकि एक सदिश है

2। सूचियों के पास कोई डिफ़ॉल्ट आकार नहीं है, जबकि एक वेक्टर 10 का डिफ़ॉल्ट आकार है।

3 सूचियां और वैक्टर दोनों गतिशील रूप से बढ़ते एरेज़ हैं

4। एक सूची सुरक्षित नहीं है, जबकि एक वेक्टर धागा सुरक्षित है।

5। सूचियां, जैसा कि वे केवल आगे और पीछे में जोड़ने और हटाने के लिए लागू होते हैं, वहीं तेजी से

वैक्टर अधिक सीपीयू लेते हैं

6। एक सदिश इसके आकार से दो बार बढ़ता है, जबकि एक सूची आधे से घट जाती है, iई।, 50 प्रतिशत।