Lista wymazuje C ++

Lista wymazuje C ++
Lista to rodzaj struktury danych, która umożliwia nam wstawienie i usuwanie elementów z dowolnego miejsca w sekwencji. Lista ma wiele funkcji, takich jak push_front (), push_back (), erase () itp. Zastosujemy niektóre z nich w tym przewodniku. W tym artykule obejmie funkcję Erase () listy zaimplementowanej w języku programowania C ++ w systemie operacyjnym Ubuntu.

Lista Erase ()

Jest to wbudowana funkcja w C ++ i jest zadeklarowana w części biblioteki jako plik nagłówka; Korzystając z tej funkcji, usuwamy elementy z listy. Może to być pojedynczy przedmiot, a może zakres przedmiotów. Po usunięciu dowolnego elementu rozmiar dynamicznie utworzonej listy jest zmniejszony zgodnie z obecnymi elementami.

Składnia

# nazwa listy iteratora.usunąć (pozycja iteratora)
# nazwa listy iteratora.usuń (pierwszy iterator, iterator ostatni)

Parametry

  • Pozycja: Używamy tego parametru, aby wyeliminować pojedynczy element z listy. Ten parametr zawiera iterator, który wskazuje na element do usunięcia z listy.
  • Pierwszy/ostatni: Te argumenty służą do usunięcia grupy elementów z listy. Pierwszy odnosi się do pierwszego elementu iteratora w zakresie, a ostatni pokazuje ostatni element w zakresie wskazanym przez iterator.

Przykład 1: usuwanie pojedynczego elementu

Ten przykład zawiera prosty kod źródłowy do usuwania pojedynczego elementu z listy. Wiemy, że możemy usunąć element z listy z dowolnego miejsca, więc dodamy elementy z tyłu i usuniemy elementy z przodu. Najpierw lista zostanie utworzona za pomocą typu danych liczb całkowitych. Następnie używamy funkcji push_back do wprowadzania wartości za pomocą obiektu listy.

Lista.push_back (10);

Wydrukujemy wszystkie elementy na liście, zanim wyeliminujemy jakikolwiek element z listy. W tym celu używana jest pętla. Pętla użyje funkcji początkowej (), aby rozpocząć, a następnie iterować do końca.

Potem teraz nadszedł czas, aby utworzyć iterator, który wskazuje na pierwszą pozycję na liście, aby pomóc nam usunąć pierwszy element. Gdy iterator wskazuje na pierwszą pozycję, usuniemy pierwszy element z listy za pomocą funkcji Erase ().

Lista.usunąć (ITR)

To zabierze obiekt iteratora, aby wskazał w stronę elementu do usunięcia. Po usunięciu elementu ponownie weźmiemy druk za pomocą tej samej metodologii, jak opisano powyżej w przykładzie.

Zapisz plik kodu źródłowego z rozszerzeniem „C”, a następnie skompiluj kod, aby wykonać go w terminalu Ubuntu. Użyliśmy kompilatora G ++ do skompilowania kodu C ++.

$ g ++ -o plik pliku.C
$ ./plik

Powstałe wartości pokazują wartości obecne na liście inicjującym w momencie tworzenia. Ale gdy pojedynczy element z przodu jest usuwany, wszystkie elementy są ponownie wyświetlane.

Usuwanie określonego zakresu elementów

Gdy usunęliśmy pierwszy element, usuniemy zakres elementów z listy. Aby wykonać to zadanie, zastosujemy to samo podejście; Lista zostanie utworzona, a wartości zostaną wprowadzone na listę. A następnie, przed usunięciem danych z listy, wszystkie elementy zostaną wyświetlone raz przed usuwaniem zakresu elementów.

Używane są dwa iteratory. Pierwszy wskazuje na pierwszy element, a drugi iterator zidentyfikuje drugie lub inne elementy na liście.

Po utworzeniu drugi iterator zostanie zwiększony o trzy pozycje. Do tej operacji użyliśmy funkcji zaawansowanej.

Advance (ITR2, 3);

Funkcja Advance () zwiększy pozycję drugiego iteratora. A zatem w ten sposób powstanie szereg przedmiotów. Na przykład tutaj drugi iterator przeskakuje 3 elementy, więc od 0 do 3 indeksów wszystkie wartości zostaną usunięte. Po usunięciu wyświetlana jest teraz reszta elementów.

Przykład 2

W tym przykładzie użyje funkcji usuwania i usunie tylko te elementy z listy wielokrotności liczby 3. Wszystkie te elementy, które nie są wielu 3, pozostaną na liście. Najpierw użyjemy biblioteki listy w programie, aby zastosować wszystkie funkcje listy w programie.

#włączać

W programie głównym najpierw utwórz listę, a następnie zainicjuj losowe 10 liczb do listy. Wszystkie elementy są typu danych całkowitych. Aby iterować na liście między elementami, utworzymy iterator, a ten iterator użyje funkcji początkowej (), aby rozpocząć od przedniej strony listy. Tutaj użyjemy pętli, aby zapewnić logikę iteracji pętli. Dopóki iterator nie iteruje do końca listy, ciągle usuwaj elementy, jednocześnie iterując te elementy, które są podzielne.

W przeciwnym razie, w drugiej części, iterator iterator iterator iterator iterator, gdy liczba nie jest podzielna przez trzy. Pozostała zawartość zostanie wyświetlona za pomocą funkcji For-each z funkcjami początkowymi () i end ().

Teraz możesz porównać wynikające wartości z wartościami wprowadzonymi początkowo w programie głównym. Tylko te liczby pozostają w tyle, które nie są podzielne przez 3.

Przykład 3

W tym przykładzie użyjemy funkcji usuwania za pomocą liczb iteratorów. Liczba razy iterator iterator na liście wymazuje ten konkretny numer z listy. Użyj odpowiednich bibliotek. Najpierw używamy funkcji, która wydrukuje wszystkie elementy listy, a następnie wydrukować „null” na końcu elementów listy. A dla pętli będzie iterować za pomocą iteratora za pomocą funkcji początkowego () i end ().

W ramach programu głównego tworzona jest nowa lista; jest inicjowany przez liczby zaczynające się od 1 i trwające do 5. Wszystkie elementy są wprowadzane z tyłu listy. Następnie wywołamy funkcję, aby wyświetlić wszystkie elementy na liście przed usunięciem.

Teraz utwórz iterator i zwiększ go 3 razy. W ten sposób przejdzie do czwartego elementu, ponieważ jest już obecny w pierwszym elemencie. Następnie użyj funkcji Erase (). W ten sposób czwarty element zostanie usunięty. Teraz ponownie, wywołać funkcję, aby wziąć wynik. Wykonasz, że czwarty element nie jest obecny.

Teraz stwórz dwa iteratory. Zwiększyć drugi iterator i przejdzie do trzeciej pozycji. Funkcja usuwania tym razem wymaga ITR1 i ITR2 w parametrze.

Tak, aby obie początkowe liczby mogły zostać usunięte; Następnie wydrukuj pozostałe elementy z listy.

Teraz możesz zobaczyć wynikowe wartości z terminalu.

Wniosek

„Lista wymazujących C ++” zawiera opis dotyczący użycia Erasing () na liście w języku programowania C ++. Ta funkcja usuwania usuwa pojedynczy element lub wiązkę elementów opisujących zakres, w tym punkt początkowy i końcowy. Dodaliśmy 4 przykłady, które szczegółowo pokazują funkcje usuwania.