Wektory rdzy

Wektory rdzy
Wektor to po prostu tablica ponownie. Są jak plastry w tym sensie, że ich rozmiar jest nieznany w czasie kompilatora. Mogą jednak rosnąć lub kurczyć się do dowolnego możliwego do wyznaczonego rozmiaru.

Witamy innych Rustacean w tym artykule. W tym celu omówimy, jak pracować z wektorami w języku programowania rdzy.

Rust Utwórz nowy wektor

Istnieją dwie podstawowe metody utworzenia wektora w rdzy.

Pierwszym z nich jest utworzenie nowej instancji struktury wektora przy użyciu metody nowej (). Składnia jest jak pokazana poniżej:

Niech VEC_NAME: VEC = Vec :: new ();

Zauważ, że określamy typ wektora wewnątrz pary nawiasów kątowych.

Przykład wektora pokazano poniżej:

fn main ()
Niech Vect: VEC = Vec :: new ();

Powyższe przykłady tworzą nowy pusty wektor 32-bitowych podpisanych liczb całkowitych.

Drugą metodą utworzenia wektora jest użycie VEC! Makro. Jest to wbudowane makro, które pozwala zadeklarować i zainicjować nowy wektor.

Składnia jest jak pokazana poniżej:

Niech vec_name = vec![vector_values];

W tym formacie nie musimy adnotować typu wektora. Kompilator wnioskuje typ oparty na wartościach przechowywanych w wektorze.

Przykładem jest jak pokazano:

fn main ()
Niech vec = vec![1,2,3,4,5];

Dostęp do wartości wektorowych

Możemy uzyskać dostęp do wartości wektora przy użyciu dwóch metod.

Pierwszym z nich jest użycie notacji indeksu. Aby użyć notacji indeksu, zaczynamy od nazwy wektora i indeksu wartości, w której chcemy uzyskać dostęp do wewnętrznych nawiasów kwadratowych.

NOTATKA: Indeksowanie wektorów zaczyna się od indeksu 0. Stąd pierwsza wartość w wektorze jest w indeksie 0.

Przykładem jest jak pokazano:

fn main ()
Niech vec = vec![1,2,3,4,5];
println!("", vec [0]);

Powyższy kod powinien zwrócić element w indeksie 0. W takim przypadku powinien zwrócić 1.

Chociaż dostęp do elementów wektorowych przez indeks jest odpowiedni dla małych przypadków użytkowania, stanowi problem, jeśli uzyskujemy dostęp do indeksu poza.

Weźmy przykład wektor poniżej:

Niech vec = vec![1,2,3,4,5];

Ostatni element znajduje się w indeksie 4. Jeśli spróbujemy uzyskać dostęp do indeksu powyżej 4, program wpadnie w panikę i wyjdzie. Przykładem jest jak pokazano:

fn main ()
Niech vec = vec![1,2,3,4,5];
println!(„”, vec [5]);

Kod powyżej zwróci błąd jako:

Możemy to przezwyciężyć za pomocą metody get (). Ta metoda przyjmuje indeks, do którego chcemy uzyskać dostęp i zwraca powiązaną wartość.

fn main ()
Niech vec = vec![1,2,3,4,5];
println!(":? ", VEC.Get (0));

W powyższym przykładzie funkcja zwraca wartość za pomocą wyliczenia opcji. Sprawdź dokumentację enum, aby dowiedzieć się więcej.

W przeciwieństwie do notacji nawigacji kwadratowej, ta funkcja nie zwraca żadnej, jeśli indeks nie zostanie znaleziony zamiast paniki.

fn main ()
Niech vec = vec![1,2,3,4,5];
println!(":? ", VEC.zdobądź (5));

Ponieważ wskaźnik tablicy nie istnieje, funkcja nie zwraca żadnej, jak pokazano poniżej:

Iterowanie nad wektorem

Możemy łatwo iterować wskaźnik i elementy wektora za pomocą metody ITER. Przykładem jest to, jak pokazano poniżej:

fn main ()
Niech vec = vec![1,2,3,4,5];
// println!(":? ", VEC.zdobądź (5));
bo w VEC.iter ()
println!("", I);

Możemy również wyliczyć wektor za pomocą metody wyliczenia. Zwraca to indeks i wartość jak poniżej:

fn main ()
Niech vec = vec![1,2,3,4,5];
dla (indeks, wartość) w VEC.iter ().Enumate ()
println!("Indeks: , wartość: ", indeks, wartość);

Kod powyżej powinien zwrócić dane wyjściowe jako:

Indeks: 0, wartość: 1
Indeks: 1, wartość: 2
Indeks: 2, wartość: 3
Indeks: 3, wartość: 4
Indeks: 4, wartość: 5

Dodaj i usuń elementy wektorowe

Rust pozwala nam dodawać lub usuwać elementy z wektora za pomocą metod push i pop. To dodaje i usuwa określony element odpowiednio do i ze stosu wektora.

Poniższy przykład pokazuje, jak dodać element do wektora.

fn main ()
Niech MUT VEC = VEC![1,2,3,4,5];
VEC.push (6);
println!(":? ", vec);

To drukuje wektor jako:

[1, 2, 3, 4, 5, 6]

Aby usunąć element ze stosu wektora, użyj metody POP, jak pokazano:

fn main ()
Niech MUT VEC = VEC![1,2,3,4,5];
VEC.Muzyka pop();
println!(":? ", vec);

Powinno to usunąć określoną wartość z wektora i zwrócić:

[1, 2, 3, 4]

NOTATKA: Wektor musi być zmienny w przypadku operacji push lub pop.

Znajdź wartość w wektor

Można znaleźć, jeśli wektor zawiera wartość przy użyciu metody Conterains (). Przykładem jest jak pokazano:

fn main ()
Niech MUT VEC = VEC![1,2,3,4,5];
Jeśli VEC.zawiera (i 5)
println!("znaleziony!")
w przeciwnym razie
println!("nie znaleziono!");

Metoda zawiera () sprawdza, czy wartość znajduje się w wektorze i zwraca wartość logiczną.

W zamknięciu

W tym artykule opisano wektory, jak tworzyć i wykonywać różne operacje. Możesz sprawdzić dokumentację rdzy, aby dowiedzieć się więcej.

Dziękuje za przeczytanie!