Iteruj za pośrednictwem listy w C ++

Iteruj za pośrednictwem listy w C ++
Najczęstszą strukturą danych jest lista. Lista to zbiór rekordów połączonych ze sobą, dzięki czemu można je po prostu iterować i utrzymywać. Iterator jest atrybutem (podobnym do wskaźnika), który wskazuje na komponent listy. Iteratory mogą być używane do przemierzania danych z listy. Będą postrzegane jako wskaźnik wskazujący określony punkt, a następnie moglibyśmy ich użyć do pobierania danych w tym konkretnym regionie.

Iteratory są ważne dla integracji algorytmów z listami i modyfikowania danych przechowywanych na listach. Wskaźnik był najczęstszym rodzajem iteratora. Wskaźnik może odnosić się do atrybutów w tablicy, a następnie użyć operatora przyrostu (++), aby je przechodzić. Jednak nie wszystkie iteratory mają taką samą zdolność adaptacyjną jak wskaźniki.

Lista C ++ byłaby iterowana w obu trybach (to znaczy do przodu i do tyłu). W tym artykule skonstruujemy listę C ++ i przetwarzamy jej komponenty. I ten artykuł przejdzie wszystkie techniki w C ++, które zostaną użyte do iteracji za pośrednictwem listy.

Użyj iteratora, aby iterować za pośrednictwem listy

W tej procedurze skonstruuje się iterator „ITR” i zainicjowany przy użyciu metody początkowej (), która wskazywałaby pierwszy komponent. Będzie iterowany, aż zbliży się do końca listy, a „ITR” wskazuje następny komponent na liście. W tej metodzie zastosowano dwie funkcje:

  • początek () zapewnia iterator początkowego komponentu listy.
  • end () zapewnia iterator do składnika jakościowego, który pojawia się po ostatnim komponencie listy.
#włączać
za pomocą przestrzeni nazw Std;
Wyświetlacz void (zestaw a)

set :: iterator ITR;
dla (ITR = a.zaczynać();
ITR != a.koniec(); ITR ++)

Cout<< *itr<< " ";


int main ()

zestaw a;
A.wstaw (350);
A.wstaw (550);
A.wstaw (750);
A.wstaw (450);
A.wstaw (650);
wyświetlacz (a);
powrót 0;

Początkowo stosujemy funkcję void display (), aby pokazać komponenty zestawu. Zmienna „a” jest określana dla tych elementów. Do reprezentowania elementów zostaliśmy wykorzystani do pętli. W środku dla pętli stosujemy funkcje początkowe () i end (). Metoda początkowa () zwraca iterator o wartości wskazującym pierwszy komponent. Różni się od metody Front () iteratora, w której funkcja front () zapewnia wskaźnik, podczas gdy begin () zapewnia iterator bezpośrednio. Funkcja END () powraca iterator, który prowadzi do ostatniego komponentu listy. Przyrosty wartości iteratora.

Zastosujemy oświadczenie „cout” dla wskaźnika iteratora. Najpierw wstawiamy liczby w losowej kolejności. Metoda insert () jest stosowana do wstawienia tych liczb. Jeśli chcemy wyświetlić wszystkie te liczby na liście, zastosowana jest metoda display (). Aby zakończyć kod, wprowadzamy polecenie „return 0”.

Użyj zasięgu do pętli do iteracji za pośrednictwem listy

W tej metodologii wykorzystywana jest oparta na pętli dla większości komponentów na liście w liście na liście.

#włączać
za pomocą przestrzeni nazw Std;
Displag void (zestaw c)

dla (Auto ITR: C)

Cout<

int main ()

zestaw c;
C.wstaw (7);
C.wstaw (4);
C.wstaw (1);
C.wstaw (8);
C.wstaw (3);
wyświetlacz (c);
powrót 0;

Po pierwsze, wprowadzamy bibliotekę . W następnym wierszu wykorzystamy standardową przestrzeń nazw. Używamy metody void display () do wyświetlania jednostek z listy. Ustawiamy zmienną „C”, aby przechowywać podmioty. Teraz do wyświetlania tych podmiotów lista „Do„ Do ”jest stosowana.

Pierwszy parametr reprezentuje deklarację zakresu. Definicja lub wskaźnik do określonej zmiennej, której rodzaj jest taki sam jak w pozycji w kolejności określonej w wyrażeniu zakresu. Do indukcji typu autonomicznego często stosuje się kwalifikator auto. Drugi parametr funkcji „auto” pokazuje zakres wyrażenia. Wskazuje odpowiednie zamówienie. Dodajemy instrukcję pętli za pomocą „Cout”.

Tutaj inicjujemy obiekt określonej listy w ramach funkcji main (. Losowo dodajemy niektóre liczby, stosując C.Funkcja Insert () dla wszystkich liczb. Funkcja display () jest używana do pokazania tych liczb losowych. Zdefiniowany zestaw jest przekazywany jako parametr tej funkcji. Używamy polecenia „return 0” do zakończenia kodu.

Użyj odwrotnego iteratora, aby iterować za pośrednictwem listy wstecz

W tej technice skonstruowany jest odwrotny iterator „ITR” i inicjowany metodą rbegin () w celu wskazania ostatniego komponentu na liście, ale po każdej iteracji „ITR” odnosi się do następnego komponentu na liście w odwrotny sposób, odwrotnie, i iterates, aż osiągnie początek listy.

#włączać
za pomocą przestrzeni nazw Std;
Display void (ustawiaj x)

set :: reverse_iteratoritr;
dla (ITR = x.rbegin ();
ITR != x.rozdzierać(); ITR ++)

Cout<< *itr<< " ";


int main ()

zestaw x;
\X.wstaw (600);
X.wstaw (400);
X.wstaw (800);
X.wstaw (700);
X.Wstaw (200);
wyświetlacz (x);
powrót 0;

Na początku programu integrujemy plik nagłówka . Korzystamy również ze standardowej przestrzeni nazw. Zastosowaliśmy metodę void display () do wykazania zawartości zestawu. Aby przechowywać te komponenty, stwierdziliśmy zmienną „x”. Użyliśmy pętli „dla”, aby wskazać elementy. Procedury rbegin () i rend () są stosowane w pętli dla. Rbegin () jest wbudowaną metodą, która zapewnia odwrotny iterator wskazany na ostatni komponent listy.

Rend () jest również wbudowaną metodą, która generuje odwrotny iterator prowadzący do hipotetycznego komponentu poprzedzającego pierwszy składnik na liście. Iterator jest generowany i zaczynałby się i kontynuował, dopóki nie osiągnie końca listy, zwiększając w każdej pętli.

Następnie użyliśmy polecenia „cout”, aby uzyskać wskaźnik iteratora. Następnie wywoływana jest funkcja main (). W takim przypadku liczby są wprowadzane w randomizowanej kolejności. Funkcja Insert () służy do włączenia liczb całkowitych do listy. Dlatego zastosujemy metodę display (), aby wyświetlić wszystkie liczby na liście. W końcu wpisujemy polecenie „zwróć 0”, aby zakończyć program.

Wniosek

W tym artykule omówiliśmy kilka metod iteracji za pośrednictwem listy w C++. Będziemy iterować za pomocą listy za pomocą iteratora, opartego na zakresie pętli i odwrotnego iteratora. Wszystkie te metodologie zostały opisane w niektórych programach.