Co to jest dynamiczna tablica?
Dynamiczna tablica jest identyczna z standardową tablicą, ale jej rozmiar można zmienić podczas uruchomienia kodu. Dynamiczne elementy tablicy zajmują ciągły blok pamięci. Po zdefiniowaniu tablicy nie można zmodyfikować jej rozmiaru. Natomiast tablica dynamiczna nie jest jak tablica statyczna. Nawet po jego zajęciu, dynamiczna tablica może rozszerzyć swój rozmiar. Elementy można stale dodawać w pozycji końcowej tablicy dynamicznej, wykorzystując przestrzeń zarezerwowaną, dopóki nie zostanie całkowicie zajęta.
Kluczowe czynniki tablicy dynamicznej w C ++:
Wydajność tablicy zależy od jej rozmiaru i współczynnika wzrostu. Zwróć uwagę na następujące punkty:
Przykład 1:
Nowe słowo kluczowe służy do budowy tablicy dynamicznej w następującym programie C ++. Następnie słowo kluczowe zwraca odniesienie do pierwszego elementu. Sekcja nagłówka ma dołączony plik biblioteki iostream, aby używać jego metod. Uwzględniono również plik przestrzeni nazw, który umożliwia korzystanie z swojej klasy bez wywołania. Następnie wywoływano główną funkcję, w której zadeklarowaliśmy dwie zmienne „P” i „Num” typu danych całkowitowych.
W następnym kroku instrukcja Cout drukuje instrukcję „Wprowadź liczby”. Polecenie CIN pobiera dane wejściowe od użytkownika i przydziela je do zmiennej „NUM”. Następny krok ma zmienną wskaźnika „tablica”, która zawiera wartości liczb całkowitych zmiennej „NUM”. Wprowadzony przez użytkownika numer zostanie wydrukowany za pomocą polecenia Cout. Następnie mamy dla stanu pętli który iteruje każdy element wprowadzony przez użytkownika. Tablica jako „tablica” jest zadeklarowana w poleceniu CIN, która odczytuje wejście wprowadzone przez użytkownika.
Po zakończeniu pętli instrukcja „Twoje liczby są” będzie wydrukować na ekranie konsoli. Znowu mamy dla stanu pętli Ale tym razem to dla stanu pętli itera nad szeregiem elementów. Zauważ, że pozwoliliśmy użytkownikowi ustawić rozmiar tablicy. W rezultacie rozmiar tablicy jest zdefiniowany w czasie wykonywania.
#włączaćUżytkownik jest poproszony o wprowadzenie numeru w wierszu konsoli. Po wejściu liczba rozmiarów tablicy wyświetla liczby określonego rozmiaru tablicy. Powstała tablica jest wyświetlana na montorze konsoli Ubuntu.
Przykład 2:
Do ustawienia tablicy dynamicznej można użyć listy inicjalizacyjnej. Zilustrujmy to przykładem, aby zobaczyć, jak to działa. Najpierw dodaliśmy plik iostream i plik przestrzeni nazw STD w sekcji nagłówka. Następnie powołaliśmy się do głównej funkcji. Logika programu powinna być zawarta w ciele funkcji. Następnie zdefiniowaliśmy zmienną jako „a” typu danych całkowitowych.
Po ogłoszeniu zmiennej liczb całkowitych mamy dynamiczną deklarację tablicy jako „ARR”, która korzysta z listy inicjalizacyjnej. W tablicy mamy cztery wpisy całkowite. Polecenie Cout wydrukuje instrukcję „elementy tablicy” przed wyświetleniem elementów tablicy.
W następnym kroku mamy A dla pętli który itera nad elementami obecnymi w określonej tablicy. Za pośrednictwem polecenia COUT elementy danej tablicy zostaną wydrukowane na podpowiedzi konsoli.
#włączaćPoniżej znajduje się wynik, który otrzymaliśmy z powyższego wykonania programu:
Przykład 3:
Po osiągnięciu celu tablicy dynamicznej należy ją usunąć z pamięci komputera. Wyrażenie usuwania można użyć do tego, że przestrzeń pamięci jest bezpłatna i używana do przechowywania dodatkowych danych. Musimy użyć delete [], aby usunąć tablicę dynamiczną z pamięci systemu. Square Bracket [] z słowem kluczowym usuwa polecenia procesora, aby usunąć wiele zmiennych, a nie tylko jedną.
Rozpocznijmy wdrażanie programu. Zaimportowaliśmy wymagany plik w sekcji nagłówka. Następnie nazywana jest główna funkcja. Zmienne całkowite „i” i „nie” są zadeklarowane w głównej funkcji. Po zdefiniowaniu tych zmiennych mamy instrukcję Cout „Numer wejściowy”, który jest dla użytkownika wprowadzenie numeru. Otrzymujemy numer od użytkownika i zapisujemy go w zmiennej „nie” za pomocą polecenia CIN.
Następnie zadeklaruj zmienną wskaźnika „Myarr”, która przechowuje liczby całkowite w pamięci. Liczba wprowadzona przez użytkownika zostanie wydrukowana w drugiej komendzie Cout tego programu. dla pętli Instrukcja jest wykorzystywana do iteracji nad numerem wprowadzonym przez użytkownika. Ostatecznie skonstruowaliśmy instrukcję Delete [], która usuwa tablicę podaną w programie i uwalnia przestrzeń w pamięci.
#włączaćPo wykonaniu programu otrzymaliśmy następujące dane wyjściowe. Po zakończeniu programu tablica zostanie usunięta.
Przykład 4:
Możemy dynamicznie zdefiniować tablicę wskaźnika rozmiaru „x”, a następnie dynamicznie przydzielić pamięć wielkości „y”. Początkowo zdefiniowaliśmy matrycę w sekcji nagłówka. W następnym kroku mamy główną funkcję, w której mamy zmienną wskaźnika „ARR”. Zmienna wskaźnika zawiera tablicę rozmiaru „x”.
Teraz dla instrukcji pętli Przydzielą każdy wiersz rozmiar pamięci „Y”. Następnie mamy zagnieżdżoną pętlę do dynamicznego przypisywania wartości do przydzielonej pamięci. Funkcja RAND wygeneruje liczbę losową dla tablicy 2D. W następnej zagnieżdżonej pętli wydrukowaliśmy tablicę 2D przez oświadczenie STD :: Cout. Po zakończeniu programu określona tablica 2D zostanie usunięta z przydzielonej przestrzeni pamięci, ponieważ w końcu użyliśmy Delete [].
#włączaćTablica 2D została wygenerowana i pokazana na ekranie konsoli poniżej.
Wniosek
To o rozmiarze tablicy w C++. Dowiedzieliśmy się, że tablice C ++ nie mają wbudowanej metody zmiany rozmiaru. Ale poprzez dynamiczną alokacja tablicy w C ++ rozmiar tablicy można zmodyfikować. Zilustrowaliśmy w przykładzie, aby zmienić rozmiar tablicy dynamicznej za pomocą nowego słowa kluczowego. Możemy również użyć listy inicjalizacyjnej do zainicjowania tablicy. Po zmianie rozmiaru możemy również zwolnić miejsce w pamięci za pomocą Delete []. W tym artykule pokaże, jak zmienić rozmiar tablicy w C++.