Rust vektorlar
Vektorlar
Vektor - bu o‘lchamini o‘zgartirish mumkin bo‘lgan massiv. Oddiy massivlardan farqli o‘laroq, vektorlar kattalashishi yoki kichrayishi mumkin.
Vektor yaratish
Vektor yaratish uchun vec! makrosidan foydalaning:
Misol
let fruits = vec!["apple", "banana", "orange"];
Bu uchta string elementdan iborat vektor yaratadi.
Vektor elementlariga murojaat qilish
Vektordagi qiymatlarga indeks raqamlari yordamida murojaat qilishingiz mumkin (xuddi massivlardagi kabi):
Misol
let fruits = vec!["apple", "banana", "orange"];
println!("First fruit: {}", fruits[0]);
O‘zingiz sinab ko‘ring »
Vektor qiymatlarini o‘zgartirish
Vektordagi qiymatni o‘zgartirish uchun indeks raqamini ko‘rsating va yangi qiymat tayinlang.
Vektorni o‘zgaruvchan (mutable) qilishni unutmang (mut kalit so‘zi yordamida):
Misol
let mut fruits = vec!["apple", "banana", "orange"];
fruits[0] = "grape";
println!("New first fruit: {}", fruits[0]);
O‘zingiz sinab ko‘ring »
Vektorga element qo‘shish
push() metodi yordamida vektor oxiriga yangi element qo‘shishingiz mumkin:
Misol
let mut fruits = vec!["apple", "banana"];
fruits.push("cherry");
println!("{:?}", fruits); // ["apple", "banana", "cherry"]
O‘zingiz sinab ko‘ring »
Vektordan element olib tashlash
Vektordagi oxirgi elementni olib tashlash uchun pop() metodidan foydalaning:
Misol
let mut fruits = vec!["apple", "banana", "cherry"];
fruits.pop();
println!("{:?}", fruits); // ["apple", "banana"]
O‘zingiz sinab ko‘ring »
Belgilangan indeksda element qo‘shish yoki olib tashlash
Rust vektorlari oxirida kattalashishi va kichrayishi uchun mo‘ljallangan, lekin elementlarni boshida yoki belgilangan indeksda ham qo‘shishingiz yoki olib tashlashingiz mumkin.
Belgilangan indeksga element qo‘shish uchun insert() metodidan foydalaning:
Misol
Vektor boshiga "apple" qo‘shish:
let mut fruits = vec!["banana", "orange"];
fruits.insert(0, "apple");
println!("{:?}", fruits); // ["apple", "banana", "orange"]
O‘zingiz sinab ko‘ring »
Misol
Vektor o‘rtasiga "apple" qo‘shish:
let mut fruits = vec!["banana", "orange"];
fruits.insert(1, "apple");
println!("{:?}", fruits); // ["banana", "apple", "orange"]
O‘zingiz sinab ko‘ring »
Birinchi elementni olib tashlash
Belgilangan indeksdagi elementni olib tashlash uchun remove() metodidan foydalaning:
Misol
Vektordagi birinchi elementni olib tashlash:
let mut fruits = vec!["apple", "banana", "orange"];
fruits.remove(0);
println!("{:?}", fruits); // ["banana", "orange"]
O‘zingiz sinab ko‘ring »
Eslatma: Elementlarni boshidan qo‘shish yoki olib tashlash oxiridan qo‘shish yoki olib tashlashga qaraganda sekinroq, chunki qolgan barcha elementlar o‘z o‘rnini o‘zgartirishi kerak bo‘ladi.
Vektor uzunligi
.len() metodi yordamida vektorda nechta element borligini bilib olishingiz mumkin:
Misol
let fruits = vec!["apple", "banana", "cherry"];
println!("There are {} fruits.", fruits.len());
O‘zingiz sinab ko‘ring »
Vektor bo‘ylab sikl
Xuddi massivlardagi kabi, vektordagi barcha qiymatlarni aylanib chiqish uchun for siklidan foydalanishingiz mumkin:
Misol
let fruits = vec!["apple", "banana", "orange"];
for fruit in &fruits {
println!("I like {}.", fruit);
}
O‘zingiz sinab ko‘ring »
Eslatma: Vektorni ko‘chirish (move) o‘rniga borrow qilish uchun &fruits ishlating.
Rustda borrowing qiymatga egalik qilish o‘rniga undan reference orqali foydalanishni anglatadi. Vektorni & belgisisiz aylanib chiqsangiz, qiymatlar undan ko‘chirib olinadi (move) va siz vektordan boshqa foydalana olmaysiz. Ammo vektorni & yordamida borrow qilsangiz, dasturingizda undan keyin ham foydalanishingiz mumkin.
Egalik haqida Egalik (ownership) va Borrowing va referencelar boblarimizda batafsil bilib olishingiz mumkin.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
