首頁  >  文章  >  後端開發  >  C++ 函式庫中有哪些常見的資料結構?

C++ 函式庫中有哪些常見的資料結構?

WBOY
WBOY原創
2024-04-18 22:09:01398瀏覽

C 標準函數庫提供了以下常用資料結構:陣列:連續記憶體區塊,透過索引存取元素。向量:動態大小的數組,可自動增長/縮小,提供高效插入/刪除/隨機存取。鍊錶:線性資料結構,元素儲存在動態分配的節點中,每個節點包含資料和指向下一個節點的指標。堆疊:後進先出 (LIFO) 資料結構,元素透過 push() 加入頂部,透過 pop() 刪除。佇列:先進先出 (FIFO) 資料結構,元素透過 enqueque() 加到尾部,經由 dequeue() 刪除。

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

C 函數庫中的常見資料結構

在C 的標準函數庫中,提供了許多用於高效管理和處理資料的常用資料結構。了解這些資料結構至關重要,因為它可以幫助你在程式設計中有效地組織和檢索資料。

1. 陣列

陣列是一種連續記憶體區塊,用於儲存相同資料類型的資料元素。它透過索引存取元素,索引從 0 開始。陣列的宣告和初始化如下:

int arr[5] = {1, 2, 3, 4, 5};

2. 向量

向量是動態大小的數組,它可以自動增長和縮小以容納元素。它提供高效的插入、刪除和隨機存取操作。向量的宣告如下:

vector<int> v = {1, 2, 3, 4, 5};

3. 鍊錶

鍊錶是一種線性資料結構,其中資料元素儲存在稱為節點的動態分配的記憶體區塊中。每個節點包含資料和指向下一個節點的指標。鍊錶用於建立靈活且記憶體高效的資料結構。

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

Node* head = new Node{1, nullptr};
head->next = new Node{2, nullptr};

4. 堆疊

堆疊是一種後進先出 (LIFO) 資料結構。元素透過 push() 操作加入到堆疊頂部,並透過 pop() 操作從堆疊頂部刪除。堆疊用於管理函數呼叫和局部變數。

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

5. 佇列

佇列是一種先進先出 (FIFO) 資料結構。元素透過 enqueque() 操作加入到佇列尾部,並透過 dequeue() 操作從佇列頭部刪除。隊列用於管理進程和任務的排隊。

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

實戰案例:使用向量儲存學生成績

#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;
}

以上是C++ 函式庫中有哪些常見的資料結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn