Rumah > pembangunan bahagian belakang > C++ > Apakah struktur data biasa dalam pustaka fungsi C++?

Apakah struktur data biasa dalam pustaka fungsi C++?

WBOY
Lepaskan: 2024-04-18 22:09:01
asal
461 orang telah melayarinya

Pustaka fungsi standard C++ menyediakan struktur data yang biasa digunakan berikut: Tatasusunan: blok memori berterusan, mengakses elemen mengikut indeks. Vektor: Tatasusunan bersaiz dinamik yang berkembang/mengecut secara automatik, memberikan akses sisipan/pemadaman/rawak yang cekap. Senarai terpaut: Struktur data linear di mana elemen disimpan dalam nod yang diperuntukkan secara dinamik, setiap nod mengandungi data dan penunjuk ke nod seterusnya. Tindanan: Struktur data masuk dahulu keluar (LIFO) yang terakhir dengan elemen ditambahkan pada bahagian atas melalui push() dan dialih keluar melalui pop(). Baris gilir: Struktur data masuk dahulu keluar dahulu (FIFO) dengan elemen ditambah pada penghujung melalui enqueque() dan dipadamkan melalui dequeue().

C++ 函数库中有哪些常见的数据结构?

Struktur data biasa dalam perpustakaan fungsi C++

Dalam perpustakaan fungsi standard C++, banyak struktur data biasa disediakan untuk pengurusan dan pemprosesan data yang cekap. Memahami struktur data ini adalah penting kerana ia membantu anda menyusun dan mendapatkan data dengan cekap dalam pengaturcaraan.

1. Tatasusunan

Susun atur ialah blok memori bersebelahan yang digunakan untuk menyimpan elemen data daripada jenis data yang sama. Ia mengakses elemen mengikut indeks, bermula dari 0. Tatasusunan diisytiharkan dan dimulakan seperti berikut:

int arr[5] = {1, 2, 3, 4, 5};
Salin selepas log masuk

2 Vektor

Vektor ialah tatasusunan bersaiz dinamik yang boleh berkembang dan mengecut secara automatik untuk menampung elemen. Ia menyediakan operasi pemasukan, pemadaman dan capaian rawak yang cekap. Vektor diisytiharkan seperti berikut:

vector<int> v = {1, 2, 3, 4, 5};
Salin selepas log masuk

3 Senarai Terpaut

Senarai terpaut ialah struktur data linear di mana elemen data disimpan dalam blok memori yang diperuntukkan secara dinamik dipanggil nod. Setiap nod mengandungi data dan penunjuk ke nod seterusnya. Senarai terpaut digunakan untuk mencipta struktur data yang fleksibel dan cekap memori.

struct Node {
  int data;
  Node* next;
};

Node* head = new Node{1, nullptr};
head->next = new Node{2, nullptr};
Salin selepas log masuk

4. Timbunan

Timbunan ialah struktur data masuk dahulu (LIFO). Elemen ditambah pada bahagian atas tindanan menggunakan operasi push() dan dikeluarkan dari bahagian atas tindanan menggunakan operasi pop(). Tindanan digunakan untuk mengurus panggilan fungsi dan pembolehubah setempat.

stack<int> s;
s.push(1);
s.push(2);
cout << s.top() << endl; // 2
s.pop();
Salin selepas log masuk

5. Baris gilir

Baris gilir ialah struktur data masuk dahulu, keluar dahulu (FIFO). Elemen ditambah pada ekor baris gilir menggunakan operasi enqueque() dan dikeluarkan daripada kepala baris gilir menggunakan operasi dequeue(). Baris gilir digunakan untuk mengurus baris gilir proses dan tugasan.

queue<int> q;
q.push(1);
q.push(2);
cout << q.front() << endl; // 1
q.pop();
Salin selepas log masuk

Kes praktikal: menggunakan vektor untuk menyimpan gred pelajar

#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;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah struktur data biasa dalam pustaka fungsi C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan