Heim > Artikel > Backend-Entwicklung > Was sind die gemeinsamen Datenstrukturen in C++-Funktionsbibliotheken?
Die C++-Standardfunktionsbibliothek stellt die folgenden häufig verwendeten Datenstrukturen bereit: Array: ein kontinuierlicher Speicherblock, der über den Index auf Elemente zugreift. Vektor: Ein Array mit dynamischer Größe, das automatisch wächst/schrumpft und effizientes Einfügen/Löschen/wahlfreien Zugriff ermöglicht. Verknüpfte Liste: Eine lineare Datenstruktur, in der Elemente in dynamisch zugewiesenen Knoten gespeichert werden, wobei jeder Knoten Daten und einen Zeiger auf den nächsten Knoten enthält. Stack: Eine Last-In-First-Out-Datenstruktur (LIFO), bei der Elemente oben über push() hinzugefügt und über pop() entfernt werden. Warteschlange: Eine First-In-First-Out-Datenstruktur (FIFO), bei der Elemente am Ende über enqueque() hinzugefügt und über dequeue() gelöscht werden.
Gemeinsame Datenstrukturen in der C++-Funktionsbibliothek
In der C++-Standardfunktionsbibliothek werden viele gängige Datenstrukturen für die effiziente Verwaltung und Verarbeitung von Daten bereitgestellt. Das Verständnis dieser Datenstrukturen ist von entscheidender Bedeutung, da es Ihnen hilft, Daten bei der Programmierung effizient zu organisieren und abzurufen.
1. Array
Ein Array ist ein zusammenhängender Speicherblock, der zum Speichern von Datenelementen desselben Datentyps verwendet wird. Der Zugriff auf Elemente erfolgt über den Index, beginnend bei 0. Das Array wird wie folgt deklariert und initialisiert:
int arr[5] = {1, 2, 3, 4, 5};
2. Vektor
Ein Vektor ist ein Array mit dynamischer Größe, das automatisch vergrößert und verkleinert werden kann, um Elemente aufzunehmen. Es bietet effiziente Einfüge-, Lösch- und Direktzugriffsvorgänge. Ein Vektor wird wie folgt deklariert:
vector<int> v = {1, 2, 3, 4, 5};
3. Verknüpfte Liste
Eine verknüpfte Liste ist eine lineare Datenstruktur, in der Datenelemente in dynamisch zugewiesenen Speicherblöcken, sogenannten Knoten, gespeichert werden. Jeder Knoten enthält Daten und einen Zeiger auf den nächsten Knoten. Verknüpfte Listen werden verwendet, um flexible und speichereffiziente Datenstrukturen zu erstellen.
struct Node { int data; Node* next; }; Node* head = new Node{1, nullptr}; head->next = new Node{2, nullptr};
4. Stack
Der Stack ist eine Last-In-First-Out-Datenstruktur (LIFO). Elemente werden mit der Operation push() oben im Stapel hinzugefügt und mit der Operation pop() oben im Stapel entfernt. Der Stack dient der Verwaltung von Funktionsaufrufen und lokalen Variablen.
stack<int> s; s.push(1); s.push(2); cout << s.top() << endl; // 2 s.pop();
5. Warteschlange
Eine Warteschlange ist eine First-In-First-Out-Datenstruktur (FIFO). Elemente werden mit der Operation enqueque() zum Ende der Warteschlange hinzugefügt und mit der Operation dequeue() aus dem Kopf der Warteschlange entfernt. Warteschlangen werden verwendet, um die Warteschlange von Prozessen und Aufgaben zu verwalten.
queue<int> q; q.push(1); q.push(2); cout << q.front() << endl; // 1 q.pop();
Praktischer Fall: Verwendung von Vektoren zum Speichern von Schülernoten
#include <vector> int main() { // 创建一个向量来存储学生成绩 vector<double> grades; // 添加学生成绩 grades.push_back(90.5); grades.push_back(85.0); grades.push_back(78.2); // 计算平均成绩 double sum = 0; for (double grade : grades) { sum += grade; } double average = sum / grades.size(); // 输出平均成绩 cout << "平均成绩:" << average << endl; return 0; }
Das obige ist der detaillierte Inhalt vonWas sind die gemeinsamen Datenstrukturen in C++-Funktionsbibliotheken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!