Rust vektorlar


ULASHISH

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!