वेक्टर और सरणी के बीच अंतर निम्नलिखित हैं -
- वेक्टर तत्वों को संग्रहीत करने के लिए अनुक्रमिक कंटेनर है न कि अनुक्रमणिका आधारित।
- सरणी एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत करता है और यह अनुक्रमणिका आधारित है।
- वेक्टर प्रकृति में गतिशील है, इसलिए तत्वों को सम्मिलित करने के साथ आकार बढ़ता है।
- चूंकि ऐरे का आकार निश्चित होता है, एक बार इनिशियलाइज़ करने के बाद उसका आकार नहीं बदला जा सकता है।
- वेक्टर अधिक मेमोरी लेता है।
- ऐरे मेमोरी कुशल डेटा संरचना है।
- वेक्टर तत्वों तक पहुँचने में अधिक समय लेता है।
- एरे ऐक्सेस एलिमेंट्स को उनके स्थान पर ध्यान दिए बिना निरंतर समय में ऐरे ऐक्सेस एलिमेंट्स को एक सन्निहित मेमोरी एलोकेशन में व्यवस्थित किया जाता है।
वेक्टर और सरणियों को निम्नलिखित सिंटैक्स के साथ घोषित किया जा सकता है -
Vector declaration:vector<datatype>array name; Array declaration:type array_name[array_size]; Vector initialization:vector<datatype>array name={values}; Array initialization:datatype arrayname[arraysize] = {values};
std::vector:
उदाहरण कोड
#include <iostream> #include <vector> using namespace std; int main() { vector<vector<int>>v{ { 4, 5, 3 }, { 2, 7, 6 }, { 3, 2, 1 ,10 } }; cout<<"the 2D vector is:"<<endl; for (int i = 0; i < v.size(); i++) { for (int j = 0; j < v[i].size(); j++) cout << v[i][j] << " "; cout << endl; } return 0; }
आउटपुट
the 2D vector is: 4 5 3 2 7 6 3 2 1 10
std::array:
उदाहरण कोड
#include<iostream> #include<array> using namespace std; int main() { array<int,4>a = {10, 20, 30, 40}; cout << "The size of array is : "; //size of the array using size() cout << a.size() << endl; //maximum no of elements of the array cout << "Maximum number of elements array can hold is : "; cout << a.max_size() << endl; // Printing array elements using at() cout << "The array elements are (using at()) : "; for ( int i=0; i<4; i++) cout << a.at(i) << " "; cout << endl; // Filling array with 1 a.fill(1); // Displaying array after filling cout << "Array after filling operation is : "; for ( int i=0; i<4; i++) cout << a[i] << " "; return 0; }
आउटपुट
The size of array is : 4 Maximum number of elements array can hold is : 4 The array elements are (using at()) : 10 20 30 40 Array after filling operation is : 1 1 1 1