रस्ट (Rust) में, एरे (Arrays) एक ही प्रकार के मानों का संग्रह होती हैं जो सन्निहित स्मृति में संग्रहीत होती हैं। वर्गाकार कोष्ठकों का उपयोग करके एरे को घोषित किया जा सकता है, तत्वों के प्रकार के बाद एक अर्धविराम और एरे में तत्वों की संख्या।यहाँ रस्ट में एक एरे का उपयोग करने का एक उदाहरण दिया गया है:
let a: [i32; 6] = [1, 2, 3, 4, 5, 6];
println!("एरे का चौथा तत्व है: {}", a[3]);
इस उदाहरण में, हम [i32; 6]
, जिसका अर्थ है कि इसमें i32 प्रकार के छह तत्व शामिल हैं। हम तब Println!
का उपयोग करते हैं, एरे के चौथे तत्व को प्रिंट करने के लिए मैक्रो। ध्यान दें कि रस्ट में, एरे शून्य-अनुक्रमित होती हैं, इसलिए एरे का चौथा तत्व सूचकांक 3 पर होता है।रस्ट में एरे का एक निश्चित आकार होता है, जिसका अर्थ है कि एक बार एक एरे घोषित होने के बाद, इसका आकार नहीं बदला जा सकता है।
रस्ट में, आप एरे पर कई तरह के ऑपरेशन कर सकते हैं, जिनमें शामिल हैं:
ऐक्सेसिंग एलिमेंट्स: आप वर्ग कोष्ठक और एक index का उपयोग करके किसी एरे के अलग-अलग तत्वों तक पहुँच सकते हैं।तत्वों पर पुनरावृति: आप loop या iter विधि का उपयोग करके किसी एरे के तत्वों पर पुनरावृति कर सकते हैं।स्लाइसिंग: आप एक नई एरे बना सकते हैं जिसमें मौजूदा एरे का एक हिस्सा “स्लाइसिंग” (slicing) करके आता है।लंबाई प्राप्त करना: आप len
विधि का उपयोग करके एरे की लंबाई प्राप्त कर सकते हैं।तुलना करना: आप एरे की तुलना यह देखने के लिए कर सकते हैं कि क्या वे समान हैं।इनिशियलाइज़ करना: आप [value; count] के साथ किसी एरे को प्रारंभ कर सकते हैं।।छँटाई: आप Sort
विधि या Sort_by
विधि का उपयोग करके किसी एरे को आरोही या अवरोही क्रम में सॉर्ट कर सकते हैं।
इनमें से कुछ परिचालनों का उदाहरण यहां दिया गया है:
let a = [1, 2, 3, 4, 5, 6];
// Accessing elements
println!("The first element is: {}", a[0]);
// Iterating over elements
for element in a.iter() {
println!("{}", element);
}
// Slicing
let slice = &a[1..3];
println!("The slice is: {:?}", slice);
// Getting the length
println!("The length of the array is: {}", a.len());
// Comparing
let b = [1, 2, 3, 4, 5];
if a == b {
println!("The arrays are equal");
}
// Initializing
let c = [0; 5];
println!("The initialized array is: {:?}", c);
// Sorting
let mut d = [5, 4, 3, 2, 1];
d.sort();
println!("The sorted array is: {:?}", d);
ध्यान दें कि रस्ट में, एरे का एक निश्चित आकार होता है, जिसे बदला नहीं जा सकता। इसलिए, यदि आपको एक डेटा संरचना की आवश्यकता है जो गतिशील रूप से बढ़ या सिकुड़ सकती है, तो आपको रस्ट में वेक्टर, Vec
प्रकार, एक गतिशील आकार की एरे का उपयोग करना चाहिए।
रस्ट में Vec
प्रकार एक गतिशील आकार की एरे है, जिसका अर्थ है कि इसका आकार गतिशील रूप से बढ़ या सिकुड़ सकता है। यह मानक पुस्तकालय में परिभाषित किया गया है और रस्ट में आमतौर पर उपयोग की जाने वाली डेटा संरचना है।
यहाँ रस्ट में Vec
का उपयोग करने का एक उदाहरण दिया गया है:
let mut v = Vec::new();
// Adding elements
v.push(1);
v.push(2);
v.push(3);
println!("The vector is: {:?}", v);
// Accessing elements
println!("The first element is: {}", v[0]);
// Iterating over elements
for element in v.iter() {
println!("{}", element);
}
// Getting the length
println!("The length of the vector is: {}", v.len());
// Sorting
v.sort();
println!("The sorted vector is: {:?}", v);
// Removing elements
v.pop();
println!("The vector after popping is: {:?}", v);
इस उदाहरण में, हम Vec::new
कंस्ट्रक्टर का उपयोग करके एक नया खाली Vec
बनाते हैं। फिर, हम तत्वों को हटाने के लिए Vec
और pop
विधि में तत्वों को जोड़ने के लिए push
विधि का उपयोग करते हैं। हम Vec
के तत्वों को सॉर्ट करने के लिए Sort
विधि का व लंबाई प्राप्त करने के लिए len
विधि का भी उपयोग करते हैं। ध्यान दें कि Vec
प्रकार इंडेक्स विशेषता को लागू करता है, जो हमें एरे की तरह वर्गाकार कोष्ठकों का उपयोग करके तत्वों तक पहुँचने की अनुमति देता है।
अंत में, रस्ट में एरे और Vec दो विशिष्ट सूची प्रकार हैं। ऐरे का एक निश्चित आकार होता है और तत्वों को सन्निहित मेमोरी में स्टोर करता है, जबकि वैक्टर का एक गतिशील आकार होता है और आवश्यकतानुसार बढ़ या सिकुड़ सकता है। एरे और Vec दोनों विभिन्न कार्यों के लिए अनुमति देते हैं, जिसमें तत्वों तक पहुँचना, तत्वों पर पुनरावृत्ति करना, लंबाई प्राप्त करना और छँटाई करना शामिल है। हालाँकि, परियोजना की आवश्यकताओं के आधार पर उपयुक्त सूची प्रकार चुनना आवश्यक है। उदाहरण के लिए, यदि सूची के आकार को गतिशील रूप से बदलने की आवश्यकता है, तो इसे Vec का उपयोग करने की अनुशंसा की जाती है; अन्यथा, एरे एक बेहतर विकल्प हो सकता है।