List vs Vektor C ++ verglichen

List vs Vektor C ++ verglichen
List und Vektoren sind beide in der Kategorie der Datenstrukturen enthalten.

Liste in c++

Eine Liste ist eine Sequenz, die das TRAversal sowohl in Vorwärts als auch in Rückwärts unterstützt, und es ist bekannt. Wir können Elemente an jeder Position, am Start, am Ende und in der Mitte einfügen.

Liste X;
X.Insert_Begin (7);
X.delete_end ();

Der Zeitverbrauch, der durch die Komplexität bekannt ist, ist für das Einfügen und Löschen an jedem Punkt in der Liste gleich. Die Liste wird verwendet, um die darin enthaltenen Elemente und ihre Adresse damit zu speichern. Diese Adressen werden durch die Zeiger gerichtet. Diese Zeiger helfen in den nächsten oder vorherigen Positionen für den Durchqueren in rückwärts und vorwärtser Richtung leicht auf den Wert zuzugreifen. Der Speicher in der Liste befindet sich jedes Mal dynamisch, wenn wir der Liste ein neues Element hinzufügen.

Warum sollten wir eine Liste verwenden??

Die Listendatenstruktur zeigt eine bessere Leistung beim Einfügen von Daten, Löschen oder Bewegen von Elementen von einem Punkt zu einem anderen. Es ist auch gut, Algorithmen zu verwenden, die Operationen effektiv ausführen.

Syntax

Aufführen < class Type, class Alloc =allocator > Klassenliste;

T: repräsentiert den Datentyp der Elemente. Wir können jeden Datentyp verwenden. Alloc: Es beschreibt das Objekt des Allocators. Eine Allocator -Klasse wird verwendet. Es hängt vom Wert ab und verwendet eine einfache Möglichkeit, Speicher zuzuweisen.

Arbeiten der C ++ - Liste

Die Liste funktioniert so, dass wir zunächst eine Listenbibliothek hinzufügen müssen, um mit allen Funktionen zu arbeiten, die sie in unserem Programm effektiv bietet. Im Rahmen des Programms wird eine Liste deklariert, wie wir in der Syntax beschrieben haben. Die Methode ist recht einfach. Der Datentyp der Elemente wird mit dem Namen der Liste definiert. Mit einem Zuordnungsoperator fügen wir die Ganzzahlwerte in die Liste ein. Alle Elemente werden mit einer für die Schleife angezeigte Elemente angezeigt, da wir jedes Element in jedem Index anzeigen müssen.

Vektor in c++

Vektor ist ein dynamisches Array, das sich automatisch ändern kann, wenn ein Element hinzugefügt oder gelöscht wird. Die Elemente, die in Vektoren eingefügt werden. Elemente werden von der Rückseite des Vektors eingefügt.

Vektor X;
X.Einfügen (7);
X.löschen();

Die Einführung von Daten am Ende braucht eine unterschiedliche Zeit. Während die Gegenstände mit einer konstanten Zeit aus den Vektoren entfernt werden.

Warum sollten wir Vektoren verwenden??

Wir bevorzugen es, einen Vektorbehälter im C ++ - Programm zu verwenden, wenn wir die Datengröße nicht erwähnen müssen, bevor wir das Programm starten. Durch die Verwendung von Vektoren müssen wir keine maximale Größe des Behälters festlegen.

Syntax

Vektor vector_name (Elemente);

Die Syntax wird mithilfe eines Vektorschlüsselworts gestartet. Ein Datentyp ist eine Art von Elementen/Elementen, die in die Vektoren eingefügt werden müssen. 'Name' zeigt den Namen eines Vektors oder des Datenelements. Die 'Elemente' repräsentieren die Anzahl der eingefügten Elemente. Dies ist ein optionaler Parameter.

Arbeit von C ++ - Vektoren

Im Hauptprogramm deklarieren wir, wie von der Syntax beschrieben, den Vektorbehälter, indem wir den Datentyp der Elemente und den Namen eines Vektors bereitstellen. Nachdem wir die Werte des Vektors eingegeben haben, werden alle Elemente mit einer für die Schleife verwendet. Ein Iterator hilft dabei, während der gesamten Schleife zu iterieren. Auf diese Weise arbeitet ein Vektor in der C ++ - Programmiersprache.

Unterschiede zwischen Listen und Vektoren in C++

Löschen und Einfügen

Sowohl die Einfügung als auch die Löschung von Elementen in der Liste sind im Vergleich zu den Vektoren sehr effizient. Dies liegt daran.

Andererseits werden in Vektoren das Einfügen und das Löschverfahren dazu führen, dass alle Elemente von einem verschoben werden. Wenn der Speicher nicht ausreicht, wird mehr Speicher zugewiesen, und dort werden ganze Daten übertragen.

Daher sind sowohl Einfügen als auch Löschen in Listen effektiver und effizienter als Vektoren.

Zufallszugriff

In Listen ist es schwierig, dass der Zufallszugriff auftritt, da in den Listen eine doppelt verknüpfte Liste vorhanden ist. Wenn Sie also auf das 6. Artikel zugreifen möchten, müssen Sie zunächst die ersten 5 Elemente in der Liste iterieren.

Im Falle von Vektoren werden alle Elemente an zusammenhängenden Speicherorten gespeichert, um einen Zufallszugriff in Vektoren durchzuführen.

Verwendung von Zeigern

Wir müssen Zeiger in der Liste verwenden, um die Adresse zu speichern. Laut den Expertenprogrammierern ist es also sehr logisch, während es sich mit den Zeigern in Listen befasst. Die Arbeit mit Listen wird im Vergleich zu Vektoren als schwierig angesehen, da Vektoren normale Operationen wie Arrays verwenden.

Hier finden Sie eine tabellarische Darstellung einiger wichtiger Unterschiede zwischen Listen und Vektoren.

Vektor in c++ Liste in c++
Der verwendete Speicher ist zusammenhängend. Es verwendet einen nicht in Verbindung stehenden Speicher.
Es hat eine Standardgröße. Bei Listen gibt es keine Standardgröße.
In Vektoren wird der Daten nur den Daten zugeteilt, die nur darin enthalten sind. In Listen für die Daten und für die Knoten ist zusätzlicher Speicherplatz erforderlich, um Adressen darin zu speichern.
Das Einsetzen von Elementen am Ende verwendet die konstante Zeit an einem beliebigen Punkt im Vektor; es ist 0. Der Löschprozess in der Liste ist von jedem Punkt sehr billig.
Zufallszugriff ist leicht möglich. Es ist unmöglich, einen zufälligen Zugriff auf der Liste zu beantragen.

Implementierung der Liste

In diesem Beispiel haben wir Vorgänge wie das Anzeigen der Daten in der Liste, der Umkehrung und Sortierfunktionen verwendet. Darüber hinaus werden begin () und end () Funktionen verwendet.

Die Anzeigefunktion wird separat deklariert. Dadurch wird begin () und das Ende () über die gesamte Liste durchlaufen und alle Elemente mithilfe des Objekts angezeigt. Wir haben hier zwei Listen erstellt. Beide Listen werden auch über die Vorder- und Rückseite eingegeben. Die Daten werden aus beiden Richtungen eingegeben.

Danach werden wir die Anzeigefunktion aufrufen, um alle seine Inhalte zu sehen. Und verwenden Sie auch die integrierten Funktionen wie Reverse und Sortier.

Ausgang:

Implementierung von Vektor

Dieses Beispiel beinhaltet die Erstellung der Vektor. Es wird ein einzelner Vektor erstellt, aber wir geben 5 Werte ein, indem wir eine "für" -Schloop verwenden.

Nach der Eingabe von Daten zeigen wir die Größe des Vektors an, das von allen darin enthaltenen Elementen erstellt wurde. Danach setzen wir einen neuen Wert ein, indem wir erneut eine "für" -Schloop verwenden. Aber diesmal haben wir Start and End () Funktionen verwendet. Wir können sehen, dass der Wert am Ende eingegeben wird. Und die Größe des Vektors wird auch gemäß den Daten selbst aktualisiert.

Ausgang:

Abschluss

"List vs Vektor C ++ verglichen" beschreibt die Unterschiede zwischen der Liste und dem Vektor. Zunächst haben wir die Liste und die Vektoren im Detail beschrieben und daran gearbeitet. Damit es den Benutzer bei der Diskriminierung zwischen diesen Containern unterstützen kann. Zwei Beispiele werden im Ubuntu -Linux -Betriebssystem implementiert, das den Unterschied beim Deklarieren, Einfügen und Löschen der Elemente aus den Containern überprüft.